0: -e:18
1: -e:18
2: -e:22
3: -e:22
4: -e:18
5: self-hosted:163
6: self-hosted:205
7: -e:7
8: self-hosted:183
9: -e:2
10: -e:11
11: -e:21
12: -e:17
13: -e:25
14: -e:1
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Remove fake loop predecessors
28: Edge Case Analysis (Late)
29: Bounds Check Elimination
30: Shape Guard Elimination
31: GC Barrier Elimination
32: FoldLoadsWithUnbox
33: Add KeepAlive Instructions
34: Generate LIR
35: Allocate Registers [Backtracking]
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x2
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Mul ← Unbox#6, Constant#5 [double]
Double
8
Return ← Mul#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x2
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Mul ← Unbox#6, Constant#5 [double]
Double
8
Return ← Mul#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x2
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Mul ← Unbox#6, Constant#5 [double]
Double
8
Return ← Mul#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x2
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Mul ← Unbox#6, Constant#5 [double]
Double
8
Return ← Mul#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x2
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Mul ← Unbox#6, Constant#5 [double]
Double
8
Return ← Mul#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x2
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Mul ← Unbox#6, Constant#5 [double]
Double
8
Return ← Mul#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x2
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Mul ← Unbox#6, Constant#5 [double]
Double
8
Return ← Mul#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x2
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Mul ← Unbox#6, Constant#5 [double]
Double
8
Return ← Mul#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x2
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Mul ← Unbox#6, Constant#5 [double]
Double
8
Return ← Mul#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x2
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Mul ← Unbox#6, Constant#5 [double]
Double
8
Return ← Mul#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x2
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Mul ← Unbox#6, Constant#5 [double]
Double
8
Return ← Mul#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x2
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
9
ToDouble ← Constant#5
Double
7
Mul ← Unbox#6, ToDouble#9 [double]
Double
10
Box ← Mul#7
Value
8
Return ← Box#10
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x2
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
ToDouble ← Constant#5
Double
8
Mul ← Unbox#6, ToDouble#7 [double]
Double
9
Box ← Mul#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x2
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
ToDouble ← Constant#5
Double
8
Mul ← Unbox#6, ToDouble#7 [double]
Double
9
Box ← Mul#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 2
Double
8
Mul ← Unbox#6, Constant#11 [double]
Double
9
Box ← Mul#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 2
Double
8
Mul ← Unbox#6, Constant#11 [double]
Double
9
Box ← Mul#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 2
Double
8
Mul ← Unbox#6, Constant#11 [double]
Double
9
Box ← Mul#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 2
I[2, 2]: Double
8
Mul ← Unbox#6, Constant#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Mul#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 2
I[2, 2]: Double
8
Mul ← Unbox#6, Constant#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Mul#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 2
I[2, 2]: Double
8
Mul ← Unbox#6, Constant#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Mul#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 2
I[2, 2]: Double
8
Mul ← Unbox#6, Constant#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Mul#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 2
I[2, 2]: Double
8
Mul ← Unbox#6, Constant#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Mul#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 2
I[2, 2]: Double
8
Mul ← Unbox#6, Constant#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Mul#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 2
I[2, 2]: Double
8
Mul ← Unbox#6, Constant#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Mul#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 2
I[2, 2]: Double
8
Mul ← Unbox#6, Constant#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Mul#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Constant 2
I[2, 2]: Double
7
Mul ← Unbox#5, Constant#6 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
8
Box ← Mul#7
Value
9
Return ← Box#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Constant 2
I[2, 2]: Double
7
Mul ← Unbox#5, Constant#6 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
8
Box ← Mul#7
Value
9
Return ← Box#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Constant 2
I[2, 2]: Double
7
Mul ← Unbox#5, Constant#6 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
8
Box ← Mul#7
Value
9
Return ← Box#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Constant 2
I[2, 2]: Double
7
Mul ← Unbox#5, Constant#6 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
8
Box ← Mul#7
Value
9
Return ← Box#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Constant 2
I[2, 2]: Double
7
Mul ← Unbox#5, Constant#6 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
8
Box ← Mul#7
Value
9
Return ← Box#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Constant 2
I[2, 2]: Double
7
Mul ← Unbox#5, Constant#6 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
8
Box ← Mul#7
Value
9
Return ← Box#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Constant 2
I[2, 2]: Double
7
Mul ← Unbox#5, Constant#6 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
8
Box ← Mul#7
Value
9
Return ← Box#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Constant 2
I[2, 2]: Double
7
Mul ← Unbox#5, Constant#6 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
8
Box ← Mul#7
Value
9
Return ← Box#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Constant 2
I[2, 2]: Double
7
Mul ← Unbox#5, Constant#6 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
8
Box ← Mul#7
Value
9
Return ← Box#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Constant 2
I[2, 2]: Double
7
Mul ← Unbox#5, Constant#6 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
8
Box ← Mul#7
Value
9
Return ← Box#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x32
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Compare ← Unbox#6, Constant#5 Gt
Bool
8
Return ← Compare#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x32
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Compare ← Unbox#6, Constant#5 Gt
Bool
8
Return ← Compare#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x32
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Compare ← Unbox#6, Constant#5 Gt
Bool
8
Return ← Compare#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x32
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Compare ← Unbox#6, Constant#5 Gt
Bool
8
Return ← Compare#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x32
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Compare ← Unbox#6, Constant#5 Gt
Bool
8
Return ← Compare#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x32
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Compare ← Unbox#6, Constant#5 Gt
Bool
8
Return ← Compare#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x32
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Compare ← Unbox#6, Constant#5 Gt
Bool
8
Return ← Compare#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x32
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Compare ← Unbox#6, Constant#5 Gt
Bool
8
Return ← Compare#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x32
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Compare ← Unbox#6, Constant#5 Gt
Bool
8
Return ← Compare#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x32
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Compare ← Unbox#6, Constant#5 Gt
Bool
8
Return ← Compare#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x32
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
Compare ← Unbox#6, Constant#5 Gt
Bool
8
Return ← Compare#7
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x32
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
9
ToDouble ← Constant#5
Double
7
Compare ← Unbox#6, ToDouble#9 Gt
Bool
10
Box ← Compare#7
Value
8
Return ← Box#10
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x32
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
ToDouble ← Constant#5
Double
8
Compare ← Unbox#6, ToDouble#7 Gt
Bool
9
Box ← Compare#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x32
Int32
6
Unbox Parameter#1 to Double (fallible)
Double
7
ToDouble ← Constant#5
Double
8
Compare ← Unbox#6, ToDouble#7 Gt
Bool
9
Box ← Compare#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 50
Double
8
Compare ← Unbox#6, Constant#11 Gt
Bool
9
Box ← Compare#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 50
Double
8
Compare ← Unbox#6, Constant#11 Gt
Bool
9
Box ← Compare#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 50
Double
8
Compare ← Unbox#6, Constant#11 Gt
Bool
9
Box ← Compare#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 50
I[50, 50]: Double
8
Compare ← Unbox#6, Constant#11 Gt
Bool
9
Box ← Compare#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 50
I[50, 50]: Double
8
Compare ← Unbox#6, Constant#11 Gt
Bool
9
Box ← Compare#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 50
I[50, 50]: Double
8
Compare ← Unbox#6, Constant#11 Gt
Bool
9
Box ← Compare#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 50
I[50, 50]: Double
8
Compare ← Unbox#6, Constant#11 Gt
Bool
9
Box ← Compare#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 50
I[50, 50]: Double
8
Compare ← Unbox#6, Constant#11 Gt
Bool
9
Box ← Compare#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 50
I[50, 50]: Double
8
Compare ← Unbox#6, Constant#11 Gt
Bool
9
Box ← Compare#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 50
I[50, 50]: Double
8
Compare ← Unbox#6, Constant#11 Gt
Bool
9
Box ← Compare#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
11
Constant 50
I[50, 50]: Double
8
Compare ← Unbox#6, Constant#11 Gt
Bool
9
Box ← Compare#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Constant 50
I[50, 50]: Double
7
Compare ← Unbox#5, Constant#6 Gt
Bool
8
Box ← Compare#7
Value
9
Return ← Box#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Constant 50
I[50, 50]: Double
7
Compare ← Unbox#5, Constant#6 Gt
Bool
8
Box ← Compare#7
Value
9
Return ← Box#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Constant 50
I[50, 50]: Double
7
Compare ← Unbox#5, Constant#6 Gt
Bool
8
Box ← Compare#7
Value
9
Return ← Box#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Constant 50
I[50, 50]: Double
7
Compare ← Unbox#5, Constant#6 Gt
Bool
8
Box ← Compare#7
Value
9
Return ← Box#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Constant 50
I[50, 50]: Double
7
Compare ← Unbox#5, Constant#6 Gt
Bool
8
Box ← Compare#7
Value
9
Return ← Box#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Constant 50
I[50, 50]: Double
7
Compare ← Unbox#5, Constant#6 Gt
Bool
8
Box ← Compare#7
Value
9
Return ← Box#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Constant 50
I[50, 50]: Double
7
Compare ← Unbox#5, Constant#6 Gt
Bool
8
Box ← Compare#7
Value
9
Return ← Box#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Constant 50
I[50, 50]: Double
7
Compare ← Unbox#5, Constant#6 Gt
Bool
8
Box ← Compare#7
Value
9
Return ← Box#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Constant 50
I[50, 50]: Double
7
Compare ← Unbox#5, Constant#6 Gt
Bool
8
Box ← Compare#7
Value
9
Return ← Box#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Constant 50
I[50, 50]: Double
7
Compare ← Unbox#5, Constant#6 Gt
Bool
8
Box ← Compare#7
Value
9
Return ← Box#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
LoadFixedSlot ← FunctionEnvironment#6 (slot 2)
Value
8
Unbox LoadFixedSlot#7 to Object (fallible)
Object
9
MegamorphicLoadSlotByValue ← Unbox#8, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
11
LoadFixedSlotAndUnbox ← FunctionEnvironment#6 (slot 2)
Object
9
MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#11, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
11
LoadFixedSlotAndUnbox ← FunctionEnvironment#6 (slot 2)
Object
9
MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#11, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
11
LoadFixedSlotAndUnbox ← FunctionEnvironment#6 (slot 2)
Object
9
MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#11, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
11
LoadFixedSlotAndUnbox ← FunctionEnvironment#6 (slot 2)
Object
9
MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#11, Parameter#1
Value
10
Return ← MegamorphicLoadSlotByValue#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
10
Box ← Add#8
Value
9
Return ← Box#10
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Return ← Add#8
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
10
Box ← Add#8
Value
9
Return ← Box#10
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Unbox Parameter#1 to Double (fallible)
Double
7
Unbox Parameter#2 to Double (fallible)
Double
8
Add ← Unbox#6, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9
Box ← Add#8
Value
10
Return ← Box#9
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c2e080
String
29
Bail
30
UnreachableResult
Value
31
Goto → block 2
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
47
UnreachableResult
Value
48
Bail
49
UnreachableResult
Value
50
Goto → block 4
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant function std_Array at 104289c6c820
Object
68
DebugCheckSelfHosted ← Constant#67
Value
69
Constant undefined
Undefined
70
Constant 0x1
Int32
71
Unbox DebugCheckSelfHosted#68 to Object (fallible)
Object
72
Constant function std_Array at 104289c6c820
Object
73
GuardSpecificFunction ← Unbox#71, Constant#72
Object
74
NewArrayDynamicLength ← MinMax#18
Object
75
Goto → block 10
Block 9
76
CallGetIntrinsicValue
Value
77
DebugCheckSelfHosted ← CallGetIntrinsicValue#76
Value
78
Constant undefined
Undefined
79
Bail
80
UnreachableResult
Value
81
Goto → block 10
Block 10
82
Phi ← UnreachableResult#80, NewArrayDynamicLength#74
Value
83
Constant 0x0
Int32
95
Goto → block 11
Block 11 (loop header)
84
Phi ← Constant#2, Constant#2
Value
85
Phi ← Constant#2, Constant#2
Value
86
Phi ← Parameter#0, Parameter#0
Value
87
Phi ← Parameter#1, Parameter#1
Value
88
Phi ← Unbox#9, Unbox#9
Value
89
Phi ← MinMax#18, MinMax#18
Value
90
Phi ← Phi#60, Phi#60
Value
91
Phi ← Phi#82, Phi#82
Value
92
Phi ← Constant#83, Add#130
Value
93
Phi ← Constant#2, Phi#127
Value
94
Phi ← Parameter#0, Parameter#0
Value
96
InterruptCheck
97
Unbox Phi#92 to Int32 (fallible)
Int32
98
Unbox Phi#89 to Int32 (fallible)
Int32
99
Compare ← Unbox#97, Unbox#98 Lt
Bool
100
Test ← Compare#99 → block 12, block 15
1
0
Block 12
101
Unbox Phi#88 to Object (fallible)
Object
102
Unbox Phi#92 to Int32 (fallible)
Int32
103
GuardShape ← Unbox#101
Object
104
Elements ← GuardShape#103
Elements
105
InitializedLength ← Elements#104
Int32
106
BoundsCheck ← Unbox#102, InitializedLength#105
Int32
107
SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105
Int32
108
GuardElementNotHole ← Elements#104, SpectreMaskIndex#107
109
Constant true
Bool
110
Test ← Constant#109 → block 13, block 14
1
0
Block 13
111
Unbox Phi#88 to Object (fallible)
Object
112
Unbox Phi#92 to Int32 (fallible)
Int32
113
GuardShape ← Unbox#111
Object
114
Elements ← GuardShape#113
Elements
115
InitializedLength ← Elements#114
Int32
116
BoundsCheck ← Unbox#112, InitializedLength#115
Int32
117
SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115
Int32
118
GuardElementsArePacked ← Elements#114
119
LoadElement ← Elements#114, SpectreMaskIndex#117
Value
120
Call ← Phi#87, Phi#90, LoadElement#119, Phi#92, Phi#88
Value
121
Unbox Phi#91 to Object (fallible)
Object
122
Unbox Phi#92 to Int32 (fallible)
Int32
123
GuardShape ← Unbox#121
Object
124
Elements ← GuardShape#123
Elements
125
StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120
126
Goto → block 14
Block 14 (backedge)
127
Phi ← Call#120, Phi#93
Value
128
Unbox Phi#92 to Int32 (fallible)
Int32
129
Constant 0x1
Int32
130
Add ← Unbox#128, Constant#129 [int32]
Int32
131
Goto → block 11
Block 15
132
Return ← Phi#91
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c2e080
String
29
Bail
135
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
134
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant function std_Array at 104289c6c820
Object
68
DebugCheckSelfHosted ← Constant#67
Value
69
Constant undefined
Undefined
70
Constant 0x1
Int32
71
Unbox DebugCheckSelfHosted#68 to Object (fallible)
Object
72
Constant function std_Array at 104289c6c820
Object
73
GuardSpecificFunction ← Unbox#71, Constant#72
Object
74
NewArrayDynamicLength ← MinMax#18
Object
75
Goto → block 10
Block 9
76
CallGetIntrinsicValue
Value
77
DebugCheckSelfHosted ← CallGetIntrinsicValue#76
Value
78
Constant undefined
Undefined
79
Bail
133
Unreachable
Block 10
82
Phi ← NewArrayDynamicLength#74
Value
83
Constant 0x0
Int32
95
Goto → block 11
Block 11 (loop header)
84
Phi ← Constant#2, Constant#2
Value
85
Phi ← Constant#2, Constant#2
Value
86
Phi ← Parameter#0, Parameter#0
Value
87
Phi ← Parameter#1, Parameter#1
Value
88
Phi ← Unbox#9, Unbox#9
Value
89
Phi ← MinMax#18, MinMax#18
Value
90
Phi ← Phi#60, Phi#60
Value
91
Phi ← Phi#82, Phi#82
Value
92
Phi ← Constant#83, Add#130
Value
93
Phi ← Constant#2, Phi#127
Value
94
Phi ← Parameter#0, Parameter#0
Value
96
InterruptCheck
97
Unbox Phi#92 to Int32 (fallible)
Int32
98
Unbox Phi#89 to Int32 (fallible)
Int32
99
Compare ← Unbox#97, Unbox#98 Lt
Bool
100
Test ← Compare#99 → block 12, block 15
1
0
Block 12
101
Unbox Phi#88 to Object (fallible)
Object
102
Unbox Phi#92 to Int32 (fallible)
Int32
103
GuardShape ← Unbox#101
Object
104
Elements ← GuardShape#103
Elements
105
InitializedLength ← Elements#104
Int32
106
BoundsCheck ← Unbox#102, InitializedLength#105
Int32
107
SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105
Int32
108
GuardElementNotHole ← Elements#104, SpectreMaskIndex#107
109
Constant true
Bool
110
Test ← Constant#109 → block 13, block 14
1
0
Block 13
111
Unbox Phi#88 to Object (fallible)
Object
112
Unbox Phi#92 to Int32 (fallible)
Int32
113
GuardShape ← Unbox#111
Object
114
Elements ← GuardShape#113
Elements
115
InitializedLength ← Elements#114
Int32
116
BoundsCheck ← Unbox#112, InitializedLength#115
Int32
117
SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115
Int32
118
GuardElementsArePacked ← Elements#114
119
LoadElement ← Elements#114, SpectreMaskIndex#117
Value
120
Call ← Phi#87, Phi#90, LoadElement#119, Phi#92, Phi#88
Value
121
Unbox Phi#91 to Object (fallible)
Object
122
Unbox Phi#92 to Int32 (fallible)
Int32
123
GuardShape ← Unbox#121
Object
124
Elements ← GuardShape#123
Elements
125
StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120
126
Goto → block 14
Block 14 (backedge)
127
Phi ← Call#120, Phi#93
Value
128
Unbox Phi#92 to Int32 (fallible)
Int32
129
Constant 0x1
Int32
130
Add ← Unbox#128, Constant#129 [int32]
Int32
131
Goto → block 11
Block 15
132
Return ← Phi#91
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c2e080
String
29
Bail
135
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
134
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant function std_Array at 104289c6c820
Object
68
DebugCheckSelfHosted ← Constant#67
Value
69
Constant undefined
Undefined
70
Constant 0x1
Int32
71
Unbox DebugCheckSelfHosted#68 to Object (fallible)
Object
72
Constant function std_Array at 104289c6c820
Object
73
GuardSpecificFunction ← Unbox#71, Constant#72
Object
74
NewArrayDynamicLength ← MinMax#18
Object
75
Goto → block 10
Block 9
76
CallGetIntrinsicValue
Value
77
DebugCheckSelfHosted ← CallGetIntrinsicValue#76
Value
78
Constant undefined
Undefined
79
Bail
133
Unreachable
Block 10
82
Phi ← NewArrayDynamicLength#74
Value
83
Constant 0x0
Int32
95
Goto → block 11
Block 11 (loop header)
84
Phi ← Constant#2, Constant#2
Value
85
Phi ← Constant#2, Constant#2
Value
86
Phi ← Parameter#0, Parameter#0
Value
87
Phi ← Parameter#1, Parameter#1
Value
88
Phi ← Unbox#9, Unbox#9
Value
89
Phi ← MinMax#18, MinMax#18
Value
90
Phi ← Phi#60, Phi#60
Value
91
Phi ← Phi#82, Phi#82
Value
92
Phi ← Constant#83, Add#130
Value
93
Phi ← Constant#2, Phi#127
Value
94
Phi ← Parameter#0, Parameter#0
Value
96
InterruptCheck
97
Unbox Phi#92 to Int32 (fallible)
Int32
98
Unbox Phi#89 to Int32 (fallible)
Int32
99
Compare ← Unbox#97, Unbox#98 Lt
Bool
100
Test ← Compare#99 → block 12, block 15
1
0
Block 12
101
Unbox Phi#88 to Object (fallible)
Object
102
Unbox Phi#92 to Int32 (fallible)
Int32
103
GuardShape ← Unbox#101
Object
104
Elements ← GuardShape#103
Elements
105
InitializedLength ← Elements#104
Int32
106
BoundsCheck ← Unbox#102, InitializedLength#105
Int32
107
SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105
Int32
108
GuardElementNotHole ← Elements#104, SpectreMaskIndex#107
109
Constant true
Bool
110
Test ← Constant#109 → block 13, block 14
1
0
Block 13
111
Unbox Phi#88 to Object (fallible)
Object
112
Unbox Phi#92 to Int32 (fallible)
Int32
113
GuardShape ← Unbox#111
Object
114
Elements ← GuardShape#113
Elements
115
InitializedLength ← Elements#114
Int32
116
BoundsCheck ← Unbox#112, InitializedLength#115
Int32
117
SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115
Int32
118
GuardElementsArePacked ← Elements#114
119
LoadElement ← Elements#114, SpectreMaskIndex#117
Value
120
Call ← Phi#87, Phi#90, LoadElement#119, Phi#92, Phi#88
Value
121
Unbox Phi#91 to Object (fallible)
Object
122
Unbox Phi#92 to Int32 (fallible)
Int32
123
GuardShape ← Unbox#121
Object
124
Elements ← GuardShape#123
Elements
125
StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120
126
Goto → block 14
Block 14 (backedge)
127
Phi ← Call#120, Phi#93
Value
128
Unbox Phi#92 to Int32 (fallible)
Int32
129
Constant 0x1
Int32
130
Add ← Unbox#128, Constant#129 [int32]
Int32
131
Goto → block 11
Block 15
132
Return ← Phi#91
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c2e080
String
29
Bail
135
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
134
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant function std_Array at 104289c6c820
Object
68
DebugCheckSelfHosted ← Constant#67
Value
69
Constant undefined
Undefined
70
Constant 0x1
Int32
71
Unbox DebugCheckSelfHosted#68 to Object (fallible)
Object
72
Constant function std_Array at 104289c6c820
Object
73
GuardSpecificFunction ← Unbox#71, Constant#72
Object
74
NewArrayDynamicLength ← MinMax#18
Object
75
Goto → block 10
Block 9
76
CallGetIntrinsicValue
Value
77
DebugCheckSelfHosted ← CallGetIntrinsicValue#76
Value
78
Constant undefined
Undefined
79
Bail
133
Unreachable
Block 10
82
Phi ← NewArrayDynamicLength#74
Value
83
Constant 0x0
Int32
95
Goto → block 11
Block 11 (loop header)
84
Phi ← Constant#2, Constant#2
Value
85
Phi ← Constant#2, Constant#2
Value
86
Phi ← Parameter#0, Parameter#0
Value
87
Phi ← Parameter#1, Parameter#1
Value
88
Phi ← Unbox#9, Unbox#9
Value
89
Phi ← MinMax#18, MinMax#18
Value
90
Phi ← Phi#60, Phi#60
Value
91
Phi ← Phi#82, Phi#82
Value
92
Phi ← Constant#83, Add#130
Value
93
Phi ← Constant#2, Phi#127
Value
94
Phi ← Parameter#0, Parameter#0
Value
96
InterruptCheck
97
Unbox Phi#92 to Int32 (fallible)
Int32
98
Unbox Phi#89 to Int32 (fallible)
Int32
99
Compare ← Unbox#97, Unbox#98 Lt
Bool
100
Test ← Compare#99 → block 12, block 15
1
0
Block 12
101
Unbox Phi#88 to Object (fallible)
Object
102
Unbox Phi#92 to Int32 (fallible)
Int32
103
GuardShape ← Unbox#101
Object
104
Elements ← GuardShape#103
Elements
105
InitializedLength ← Elements#104
Int32
106
BoundsCheck ← Unbox#102, InitializedLength#105
Int32
107
SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105
Int32
108
GuardElementNotHole ← Elements#104, SpectreMaskIndex#107
109
Constant true
Bool
110
Test ← Constant#109 → block 13, block 14
1
0
Block 13
111
Unbox Phi#88 to Object (fallible)
Object
112
Unbox Phi#92 to Int32 (fallible)
Int32
113
GuardShape ← Unbox#111
Object
114
Elements ← GuardShape#113
Elements
115
InitializedLength ← Elements#114
Int32
116
BoundsCheck ← Unbox#112, InitializedLength#115
Int32
117
SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115
Int32
118
GuardElementsArePacked ← Elements#114
119
LoadElement ← Elements#114, SpectreMaskIndex#117
Value
120
Call ← Phi#87, Phi#90, LoadElement#119, Phi#92, Phi#88
Value
121
Unbox Phi#91 to Object (fallible)
Object
122
Unbox Phi#92 to Int32 (fallible)
Int32
123
GuardShape ← Unbox#121
Object
124
Elements ← GuardShape#123
Elements
125
StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120
126
Goto → block 14
Block 14 (backedge)
127
Phi ← Call#120, Phi#93
Value
128
Unbox Phi#92 to Int32 (fallible)
Int32
129
Constant 0x1
Int32
130
Add ← Unbox#128, Constant#129 [int32]
Int32
131
Goto → block 11
Block 15
132
Return ← Phi#91
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c2e080
String
29
Bail
135
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
134
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant function std_Array at 104289c6c820
Object
68
DebugCheckSelfHosted ← Constant#67
Value
69
Constant undefined
Undefined
70
Constant 0x1
Int32
71
Unbox DebugCheckSelfHosted#68 to Object (fallible)
Object
72
Constant function std_Array at 104289c6c820
Object
73
GuardSpecificFunction ← Unbox#71, Constant#72
Object
74
NewArrayDynamicLength ← MinMax#18
Object
75
Goto → block 10
Block 9
76
CallGetIntrinsicValue
Value
77
DebugCheckSelfHosted ← CallGetIntrinsicValue#76
Value
78
Constant undefined
Undefined
79
Bail
133
Unreachable
Block 10
82
Phi ← NewArrayDynamicLength#74
Value
83
Constant 0x0
Int32
95
Goto → block 11
Block 11 (loop header)
84
Phi ← Constant#2, Constant#2
Value
85
Phi ← Constant#2, Constant#2
Value
86
Phi ← Parameter#0, Parameter#0
Value
87
Phi ← Parameter#1, Parameter#1
Value
88
Phi ← Unbox#9, Unbox#9
Value
89
Phi ← MinMax#18, MinMax#18
Value
90
Phi ← Phi#60, Phi#60
Value
91
Phi ← Phi#82, Phi#82
Value
92
Phi ← Constant#83, Add#130
Value
93
Phi ← Constant#2, Phi#127
Value
94
Phi ← Parameter#0, Parameter#0
Value
96
InterruptCheck
97
Unbox Phi#92 to Int32 (fallible)
Int32
98
Unbox Phi#89 to Int32 (fallible)
Int32
99
Compare ← Unbox#97, Unbox#98 Lt
Bool
100
Test ← Compare#99 → block 12, block 15
1
0
Block 12
101
Unbox Phi#88 to Object (fallible)
Object
102
Unbox Phi#92 to Int32 (fallible)
Int32
103
GuardShape ← Unbox#101
Object
104
Elements ← GuardShape#103
Elements
105
InitializedLength ← Elements#104
Int32
106
BoundsCheck ← Unbox#102, InitializedLength#105
Int32
107
SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105
Int32
108
GuardElementNotHole ← Elements#104, SpectreMaskIndex#107
109
Constant true
Bool
110
Test ← Constant#109 → block 13, block 14
1
0
Block 13
111
Unbox Phi#88 to Object (fallible)
Object
112
Unbox Phi#92 to Int32 (fallible)
Int32
113
GuardShape ← Unbox#111
Object
114
Elements ← GuardShape#113
Elements
115
InitializedLength ← Elements#114
Int32
116
BoundsCheck ← Unbox#112, InitializedLength#115
Int32
117
SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115
Int32
118
GuardElementsArePacked ← Elements#114
119
LoadElement ← Elements#114, SpectreMaskIndex#117
Value
120
Call ← Phi#87, Phi#90, LoadElement#119, Phi#92, Phi#88
Value
121
Unbox Phi#91 to Object (fallible)
Object
122
Unbox Phi#92 to Int32 (fallible)
Int32
123
GuardShape ← Unbox#121
Object
124
Elements ← GuardShape#123
Elements
125
StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120
126
Goto → block 14
Block 14 (backedge)
127
Phi ← Call#120, Phi#93
Value
128
Unbox Phi#92 to Int32 (fallible)
Int32
129
Constant 0x1
Int32
130
Add ← Unbox#128, Constant#129 [int32]
Int32
131
Goto → block 11
Block 15
132
Return ← Phi#91
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c2e080
String
29
Bail
135
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
134
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant function std_Array at 104289c6c820
Object
68
DebugCheckSelfHosted ← Constant#67
Value
69
Constant undefined
Undefined
70
Constant 0x1
Int32
71
Unbox DebugCheckSelfHosted#68 to Object (fallible)
Object
72
Constant function std_Array at 104289c6c820
Object
73
GuardSpecificFunction ← Unbox#71, Constant#72
Object
74
NewArrayDynamicLength ← MinMax#18
Object
75
Goto → block 10
Block 9
76
CallGetIntrinsicValue
Value
77
DebugCheckSelfHosted ← CallGetIntrinsicValue#76
Value
78
Constant undefined
Undefined
79
Bail
133
Unreachable
Block 10
82
Phi ← NewArrayDynamicLength#74
Value
83
Constant 0x0
Int32
95
Goto → block 11
Block 11 (loop header)
84
Phi ← Constant#2, Constant#2
Value
85
Phi ← Constant#2, Constant#2
Value
86
Phi ← Parameter#0, Parameter#0
Value
87
Phi ← Parameter#1, Parameter#1
Value
88
Phi ← Unbox#9, Unbox#9
Value
89
Phi ← MinMax#18, MinMax#18
Value
90
Phi ← Phi#60, Phi#60
Value
91
Phi ← Phi#82, Phi#82
Value
92
Phi ← Constant#83, Add#130
Value
93
Phi ← Constant#2, Phi#127
Value
94
Phi ← Parameter#0, Parameter#0
Value
96
InterruptCheck
97
Unbox Phi#92 to Int32 (fallible)
Int32
98
Unbox Phi#89 to Int32 (fallible)
Int32
99
Compare ← Unbox#97, Unbox#98 Lt
Bool
100
Test ← Compare#99 → block 12, block 15
1
0
Block 12
101
Unbox Phi#88 to Object (fallible)
Object
102
Unbox Phi#92 to Int32 (fallible)
Int32
103
GuardShape ← Unbox#101
Object
104
Elements ← GuardShape#103
Elements
105
InitializedLength ← Elements#104
Int32
106
BoundsCheck ← Unbox#102, InitializedLength#105
Int32
107
SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105
Int32
108
GuardElementNotHole ← Elements#104, SpectreMaskIndex#107
109
Constant true
Bool
110
Test ← Constant#109 → block 13, block 16
1
0
Block 16 (split edge)
136
Goto → block 14
Block 13
111
Unbox Phi#88 to Object (fallible)
Object
112
Unbox Phi#92 to Int32 (fallible)
Int32
113
GuardShape ← Unbox#111
Object
114
Elements ← GuardShape#113
Elements
115
InitializedLength ← Elements#114
Int32
116
BoundsCheck ← Unbox#112, InitializedLength#115
Int32
117
SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115
Int32
118
GuardElementsArePacked ← Elements#114
119
LoadElement ← Elements#114, SpectreMaskIndex#117
Value
120
Call ← Phi#87, Phi#90, LoadElement#119, Phi#92, Phi#88
Value
121
Unbox Phi#91 to Object (fallible)
Object
122
Unbox Phi#92 to Int32 (fallible)
Int32
123
GuardShape ← Unbox#121
Object
124
Elements ← GuardShape#123
Elements
125
StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120
126
Goto → block 14
Block 14 (backedge)
127
Phi ← Call#120, Phi#93
Value
128
Unbox Phi#92 to Int32 (fallible)
Int32
129
Constant 0x1
Int32
130
Add ← Unbox#128, Constant#129 [int32]
Int32
131
Goto → block 11
Block 15
132
Return ← Phi#91
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c2e080
String
29
Bail
135
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
134
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant function std_Array at 104289c6c820
Object
68
DebugCheckSelfHosted ← Constant#67
Value
69
Constant undefined
Undefined
70
Constant 0x1
Int32
71
Unbox DebugCheckSelfHosted#68 to Object (fallible)
Object
72
Constant function std_Array at 104289c6c820
Object
73
GuardSpecificFunction ← Unbox#71, Constant#72
Object
74
NewArrayDynamicLength ← MinMax#18
Object
75
Goto → block 10
Block 9
76
CallGetIntrinsicValue
Value
77
DebugCheckSelfHosted ← CallGetIntrinsicValue#76
Value
78
Constant undefined
Undefined
79
Bail
133
Unreachable
Block 10
82
Phi ← NewArrayDynamicLength#74
Value
83
Constant 0x0
Int32
95
Goto → block 11
Block 11 (loop header)
84
Phi ← Constant#2, Constant#2
Value
85
Phi ← Constant#2, Constant#2
Value
86
Phi ← Parameter#0, Parameter#0
Value
87
Phi ← Parameter#1, Parameter#1
Value
88
Phi ← Unbox#9, Unbox#9
Value
89
Phi ← MinMax#18, MinMax#18
Value
90
Phi ← Phi#60, Phi#60
Value
91
Phi ← Phi#82, Phi#82
Value
92
Phi ← Constant#83, Add#130
Value
93
Phi ← Constant#2, Phi#127
Value
94
Phi ← Parameter#0, Parameter#0
Value
96
InterruptCheck
97
Unbox Phi#92 to Int32 (fallible)
Int32
98
Unbox Phi#89 to Int32 (fallible)
Int32
99
Compare ← Unbox#97, Unbox#98 Lt
Bool
100
Test ← Compare#99 → block 12, block 16
1
0
Block 12
101
Unbox Phi#88 to Object (fallible)
Object
102
Unbox Phi#92 to Int32 (fallible)
Int32
103
GuardShape ← Unbox#101
Object
104
Elements ← GuardShape#103
Elements
105
InitializedLength ← Elements#104
Int32
106
BoundsCheck ← Unbox#102, InitializedLength#105
Int32
107
SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105
Int32
108
GuardElementNotHole ← Elements#104, SpectreMaskIndex#107
109
Constant true
Bool
110
Test ← Constant#109 → block 14, block 13
1
0
Block 13 (split edge)
136
Goto → block 15
Block 14
111
Unbox Phi#88 to Object (fallible)
Object
112
Unbox Phi#92 to Int32 (fallible)
Int32
113
GuardShape ← Unbox#111
Object
114
Elements ← GuardShape#113
Elements
115
InitializedLength ← Elements#114
Int32
116
BoundsCheck ← Unbox#112, InitializedLength#115
Int32
117
SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115
Int32
118
GuardElementsArePacked ← Elements#114
119
LoadElement ← Elements#114, SpectreMaskIndex#117
Value
120
Call ← Phi#87, Phi#90, LoadElement#119, Phi#92, Phi#88
Value
121
Unbox Phi#91 to Object (fallible)
Object
122
Unbox Phi#92 to Int32 (fallible)
Int32
123
GuardShape ← Unbox#121
Object
124
Elements ← GuardShape#123
Elements
125
StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120
126
Goto → block 15
Block 15 (backedge)
127
Phi ← Call#120, Phi#93
Value
128
Unbox Phi#92 to Int32 (fallible)
Int32
129
Constant 0x1
Int32
130
Add ← Unbox#128, Constant#129 [int32]
Int32
131
Goto → block 11
Block 16
132
Return ← Phi#91
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c2e080
String
29
Bail
135
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
134
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant function std_Array at 104289c6c820
Object
68
DebugCheckSelfHosted ← Constant#67
Value
69
Constant undefined
Undefined
70
Constant 0x1
Int32
71
Unbox DebugCheckSelfHosted#68 to Object (fallible)
Object
72
Constant function std_Array at 104289c6c820
Object
73
GuardSpecificFunction ← Unbox#71, Constant#72
Object
74
NewArrayDynamicLength ← MinMax#18
Object
75
Goto → block 10
Block 9
76
CallGetIntrinsicValue
Value
77
DebugCheckSelfHosted ← CallGetIntrinsicValue#76
Value
78
Constant undefined
Undefined
79
Bail
133
Unreachable
Block 10
83
Constant 0x0
Int32
95
Goto → block 11
Block 11 (loop header)
92
Phi ← Constant#83, Add#130
Value
137
Constant magic optimized-out
MagicOptimizedOut
96
InterruptCheck
97
Unbox Phi#92 to Int32 (fallible)
Int32
98
Unbox MinMax#18 to Int32 (fallible)
Int32
99
Compare ← Unbox#97, Unbox#98 Lt
Bool
100
Test ← Compare#99 → block 12, block 16
1
0
Block 12
142
Constant magic optimized-out
MagicOptimizedOut
101
Unbox Unbox#9 to Object (fallible)
Object
102
Unbox Phi#92 to Int32 (fallible)
Int32
103
GuardShape ← Unbox#101
Object
104
Elements ← GuardShape#103
Elements
105
InitializedLength ← Elements#104
Int32
106
BoundsCheck ← Unbox#102, InitializedLength#105
Int32
107
SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105
Int32
108
GuardElementNotHole ← Elements#104, SpectreMaskIndex#107
109
Constant true
Bool
110
Test ← Constant#109 → block 14, block 13
1
0
Block 13 (split edge)
139
Constant magic optimized-out
MagicOptimizedOut
136
Goto → block 15
Block 14
141
Constant magic optimized-out
MagicOptimizedOut
111
Unbox Unbox#9 to Object (fallible)
Object
112
Unbox Phi#92 to Int32 (fallible)
Int32
113
GuardShape ← Unbox#111
Object
114
Elements ← GuardShape#113
Elements
115
InitializedLength ← Elements#114
Int32
116
BoundsCheck ← Unbox#112, InitializedLength#115
Int32
117
SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115
Int32
118
GuardElementsArePacked ← Elements#114
119
LoadElement ← Elements#114, SpectreMaskIndex#117
Value
120
Call ← Parameter#1, Phi#60, LoadElement#119, Phi#92, Unbox#9
Value
121
Unbox NewArrayDynamicLength#74 to Object (fallible)
Object
122
Unbox Phi#92 to Int32 (fallible)
Int32
123
GuardShape ← Unbox#121
Object
124
Elements ← GuardShape#123
Elements
125
StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120
126
Goto → block 15
Block 15 (backedge)
138
Constant magic optimized-out
MagicOptimizedOut
128
Unbox Phi#92 to Int32 (fallible)
Int32
129
Constant 0x1
Int32
130
Add ← Unbox#128, Constant#129 [int32]
Int32
131
Goto → block 11
Block 16
140
Constant magic optimized-out
MagicOptimizedOut
132
Return ← NewArrayDynamicLength#74
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c2e080
String
29
Bail
135
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
134
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant function std_Array at 104289c6c820
Object
68
DebugCheckSelfHosted ← Constant#67
Value
69
Constant undefined
Undefined
70
Constant 0x1
Int32
71
Unbox DebugCheckSelfHosted#68 to Object (fallible)
Object
72
Constant function std_Array at 104289c6c820
Object
73
GuardSpecificFunction ← Unbox#71, Constant#72
Object
74
NewArrayDynamicLength ← MinMax#18
Object
75
Goto → block 10
Block 9
76
CallGetIntrinsicValue
Value
77
DebugCheckSelfHosted ← CallGetIntrinsicValue#76
Value
78
Constant undefined
Undefined
79
Bail
133
Unreachable
Block 10
83
Constant 0x0
Int32
95
Goto → block 11
Block 11 (loop header)
92
Phi ← Constant#83, Add#130
Value
137
Constant magic optimized-out
MagicOptimizedOut
96
InterruptCheck
97
Unbox Phi#92 to Int32 (fallible)
Int32
98
Unbox MinMax#18 to Int32 (fallible)
Int32
99
Compare ← Unbox#97, Unbox#98 Lt
Bool
100
Test ← Compare#99 → block 12, block 16
1
0
Block 12
142
Constant magic optimized-out
MagicOptimizedOut
101
Unbox Unbox#9 to Object (fallible)
Object
102
Unbox Phi#92 to Int32 (fallible)
Int32
103
GuardShape ← Unbox#101
Object
104
Elements ← GuardShape#103
Elements
105
InitializedLength ← Elements#104
Int32
106
BoundsCheck ← Unbox#102, InitializedLength#105
Int32
107
SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105
Int32
108
GuardElementNotHole ← Elements#104, SpectreMaskIndex#107
109
Constant true
Bool
110
Test ← Constant#109 → block 14, block 13
1
0
Block 13 (split edge)
139
Constant magic optimized-out
MagicOptimizedOut
136
Goto → block 15
Block 14
141
Constant magic optimized-out
MagicOptimizedOut
111
Unbox Unbox#9 to Object (fallible)
Object
112
Unbox Phi#92 to Int32 (fallible)
Int32
113
GuardShape ← Unbox#111
Object
114
Elements ← GuardShape#113
Elements
115
InitializedLength ← Elements#114
Int32
116
BoundsCheck ← Unbox#112, InitializedLength#115
Int32
117
SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115
Int32
118
GuardElementsArePacked ← Elements#114
119
LoadElement ← Elements#114, SpectreMaskIndex#117
Value
120
Call ← Parameter#1, Phi#60, LoadElement#119, Phi#92, Unbox#9
Value
121
Unbox NewArrayDynamicLength#74 to Object (fallible)
Object
122
Unbox Phi#92 to Int32 (fallible)
Int32
123
GuardShape ← Unbox#121
Object
124
Elements ← GuardShape#123
Elements
125
StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120
126
Goto → block 15
Block 15 (backedge)
138
Constant magic optimized-out
MagicOptimizedOut
128
Unbox Phi#92 to Int32 (fallible)
Int32
129
Constant 0x1
Int32
130
Add ← Unbox#128, Constant#129 [int32]
Int32
131
Goto → block 11
Block 16
140
Constant magic optimized-out
MagicOptimizedOut
132
Return ← NewArrayDynamicLength#74
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c2e080
String
29
Bail
135
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
134
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant function std_Array at 104289c6c820
Object
68
DebugCheckSelfHosted ← Constant#67
Value
69
Constant undefined
Undefined
70
Constant 0x1
Int32
71
Unbox DebugCheckSelfHosted#68 to Object (fallible)
Object
72
Constant function std_Array at 104289c6c820
Object
73
GuardSpecificFunction ← Unbox#71, Constant#72
Object
74
NewArrayDynamicLength ← MinMax#18
Object
75
Goto → block 10
Block 9
76
CallGetIntrinsicValue
Value
77
DebugCheckSelfHosted ← CallGetIntrinsicValue#76
Value
78
Constant undefined
Undefined
79
Bail
133
Unreachable
Block 10
83
Constant 0x0
Int32
95
Goto → block 11
Block 11 (loop header)
92
Phi ← Constant#83, Add#130
Value
137
Constant magic optimized-out
MagicOptimizedOut
96
InterruptCheck
97
Unbox Phi#92 to Int32 (fallible)
Int32
98
Unbox MinMax#18 to Int32 (fallible)
Int32
99
Compare ← Unbox#97, Unbox#98 Lt
Bool
100
Test ← Compare#99 → block 12, block 16
1
0
Block 12
142
Constant magic optimized-out
MagicOptimizedOut
101
Unbox Unbox#9 to Object (fallible)
Object
102
Unbox Phi#92 to Int32 (fallible)
Int32
103
GuardShape ← Unbox#101
Object
104
Elements ← GuardShape#103
Elements
105
InitializedLength ← Elements#104
Int32
106
BoundsCheck ← Unbox#102, InitializedLength#105
Int32
107
SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105
Int32
108
GuardElementNotHole ← Elements#104, SpectreMaskIndex#107
109
Constant true
Bool
110
Test ← Constant#109 → block 14, block 13
1
0
Block 13 (split edge)
139
Constant magic optimized-out
MagicOptimizedOut
136
Goto → block 15
Block 14
141
Constant magic optimized-out
MagicOptimizedOut
111
Unbox Unbox#9 to Object (fallible)
Object
112
Unbox Phi#92 to Int32 (fallible)
Int32
113
GuardShape ← Unbox#111
Object
114
Elements ← GuardShape#113
Elements
115
InitializedLength ← Elements#114
Int32
116
BoundsCheck ← Unbox#112, InitializedLength#115
Int32
117
SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115
Int32
118
GuardElementsArePacked ← Elements#114
119
LoadElement ← Elements#114, SpectreMaskIndex#117
Value
120
Call ← Parameter#1, Phi#60, LoadElement#119, Phi#92, Unbox#9
Value
121
Unbox NewArrayDynamicLength#74 to Object (fallible)
Object
122
Unbox Phi#92 to Int32 (fallible)
Int32
123
GuardShape ← Unbox#121
Object
124
Elements ← GuardShape#123
Elements
125
StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120
126
Goto → block 15
Block 15 (backedge)
138
Constant magic optimized-out
MagicOptimizedOut
128
Unbox Phi#92 to Int32 (fallible)
Int32
129
Constant 0x1
Int32
130
Add ← Unbox#128, Constant#129 [int32]
Int32
131
Goto → block 11
Block 16
140
Constant magic optimized-out
MagicOptimizedOut
132
Return ← NewArrayDynamicLength#74
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c2e080
String
29
Bail
135
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
134
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant function std_Array at 104289c6c820
Object
68
DebugCheckSelfHosted ← Constant#67
Value
69
Constant undefined
Undefined
70
Constant 0x1
Int32
71
Unbox DebugCheckSelfHosted#68 to Object (fallible)
Object
72
Constant function std_Array at 104289c6c820
Object
73
GuardSpecificFunction ← Unbox#71, Constant#72
Object
74
NewArrayDynamicLength ← MinMax#18
Object
75
Goto → block 10
Block 9
76
CallGetIntrinsicValue
Value
77
DebugCheckSelfHosted ← CallGetIntrinsicValue#76
Value
78
Constant undefined
Undefined
79
Bail
133
Unreachable
Block 10
83
Constant 0x0
Int32
95
Goto → block 11
Block 11 (loop header)
92
Phi ← Constant#83, Add#130
Value
137
Constant magic optimized-out
MagicOptimizedOut
96
InterruptCheck
97
Unbox Phi#92 to Int32 (fallible)
Int32
98
Unbox MinMax#18 to Int32 (fallible)
Int32
99
Compare ← Unbox#97, Unbox#98 Lt
Bool
100
Test ← Compare#99 → block 12, block 16
1
0
Block 12
142
Constant magic optimized-out
MagicOptimizedOut
101
Unbox Unbox#9 to Object (fallible)
Object
102
Unbox Phi#92 to Int32 (fallible)
Int32
103
GuardShape ← Unbox#101
Object
104
Elements ← GuardShape#103
Elements
105
InitializedLength ← Elements#104
Int32
106
BoundsCheck ← Unbox#102, InitializedLength#105
Int32
107
SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105
Int32
108
GuardElementNotHole ← Elements#104, SpectreMaskIndex#107
109
Constant true
Bool
110
Test ← Constant#109 → block 14, block 13
1
0
Block 13 (split edge)
139
Constant magic optimized-out
MagicOptimizedOut
136
Goto → block 15
Block 14
141
Constant magic optimized-out
MagicOptimizedOut
111
Unbox Unbox#9 to Object (fallible)
Object
112
Unbox Phi#92 to Int32 (fallible)
Int32
113
GuardShape ← Unbox#111
Object
114
Elements ← GuardShape#113
Elements
115
InitializedLength ← Elements#114
Int32
116
BoundsCheck ← Unbox#112, InitializedLength#115
Int32
117
SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115
Int32
118
GuardElementsArePacked ← Elements#114
119
LoadElement ← Elements#114, SpectreMaskIndex#117
Value
120
Call ← Parameter#1, Phi#60, LoadElement#119, Phi#92, Unbox#9
Value
121
Unbox NewArrayDynamicLength#74 to Object (fallible)
Object
122
Unbox Phi#92 to Int32 (fallible)
Int32
123
GuardShape ← Unbox#121
Object
124
Elements ← GuardShape#123
Elements
125
StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120
126
Goto → block 15
Block 15 (backedge)
138
Constant magic optimized-out
MagicOptimizedOut
128
Unbox Phi#92 to Int32 (fallible)
Int32
129
Constant 0x1
Int32
130
Add ← Unbox#128, Constant#129 [int32]
Int32
131
Goto → block 11
Block 16
140
Constant magic optimized-out
MagicOptimizedOut
132
Return ← NewArrayDynamicLength#74
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
143
Box ← Constant#5
Value
6
DebugCheckSelfHosted ← Box#143
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
144
Box ← Constant#10
Value
11
DebugCheckSelfHosted ← Box#144
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c2e080
String
29
Bail
135
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
145
Box ← Constant#32
Value
33
DebugCheckSelfHosted ← Box#145
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
134
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
146
Box ← Constant#58
Value
59
Goto → block 7
Block 7
60
Phi ← Box#146, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
147
Box ← Constant#61
Value
62
DebugCheckSelfHosted ← Box#147
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant function std_Array at 104289c6c820
Object
148
Box ← Constant#67
Value
68
DebugCheckSelfHosted ← Box#148
Value
69
Constant undefined
Undefined
70
Constant 0x1
Int32
71
Unbox DebugCheckSelfHosted#68 to Object (fallible)
Object
72
Constant function std_Array at 104289c6c820
Object
73
GuardSpecificFunction ← Unbox#71, Constant#72
Object
74
NewArrayDynamicLength ← MinMax#18
Object
75
Goto → block 10
Block 9
76
CallGetIntrinsicValue
Value
77
DebugCheckSelfHosted ← CallGetIntrinsicValue#76
Value
78
Constant undefined
Undefined
79
Bail
133
Unreachable
Block 10
83
Constant 0x0
Int32
95
Goto → block 11
Block 11 (loop header)
92
Phi ← Constant#83, Add#130
Int32
137
Constant magic optimized-out
MagicOptimizedOut
96
InterruptCheck
149
Box ← Phi#92
Value
97
Unbox Box#149 to Int32 (fallible)
Int32
150
Box ← MinMax#18
Value
98
Unbox Box#150 to Int32 (fallible)
Int32
99
Compare ← Unbox#97, Unbox#98 Lt
Bool
100
Test ← Compare#99 → block 12, block 16
1
0
Block 12
142
Constant magic optimized-out
MagicOptimizedOut
151
Box ← Unbox#9
Value
101
Unbox Box#151 to Object (fallible)
Object
152
Box ← Phi#92
Value
102
Unbox Box#152 to Int32 (fallible)
Int32
103
GuardShape ← Unbox#101
Object
104
Elements ← GuardShape#103
Elements
105
InitializedLength ← Elements#104
Int32
106
BoundsCheck ← Unbox#102, InitializedLength#105
Int32
107
SpectreMaskIndex ← BoundsCheck#106, InitializedLength#105
Int32
108
GuardElementNotHole ← Elements#104, SpectreMaskIndex#107
109
Constant true
Bool
110
Test ← Constant#109 → block 14, block 13
1
0
Block 13 (split edge)
139
Constant magic optimized-out
MagicOptimizedOut
136
Goto → block 15
Block 14
141
Constant magic optimized-out
MagicOptimizedOut
153
Box ← Unbox#9
Value
111
Unbox Box#153 to Object (fallible)
Object
154
Box ← Phi#92
Value
112
Unbox Box#154 to Int32 (fallible)
Int32
113
GuardShape ← Unbox#111
Object
114
Elements ← GuardShape#113
Elements
115
InitializedLength ← Elements#114
Int32
116
BoundsCheck ← Unbox#112, InitializedLength#115
Int32
117
SpectreMaskIndex ← BoundsCheck#116, InitializedLength#115
Int32
118
GuardElementsArePacked ← Elements#114
119
LoadElement ← Elements#114, SpectreMaskIndex#117
Value
155
Unbox Parameter#1 to Object (fallible)
Object
120
Call ← Unbox#155, Phi#60, LoadElement#119, Phi#92, Unbox#9
Value
156
Box ← NewArrayDynamicLength#74
Value
121
Unbox Box#156 to Object (fallible)
Object
157
Box ← Phi#92
Value
122
Unbox Box#157 to Int32 (fallible)
Int32
123
GuardShape ← Unbox#121
Object
124
Elements ← GuardShape#123
Elements
125
StoreElementHole ← GuardShape#123, Elements#124, Unbox#122, Call#120
126
Goto → block 15
Block 15 (backedge)
138
Constant magic optimized-out
MagicOptimizedOut
158
Box ← Phi#92
Value
128
Unbox Box#158 to Int32 (fallible)
Int32
129
Constant 0x1
Int32
130
Add ← Unbox#128, Constant#129 [int32]
Int32
131
Goto → block 11
Block 16
140
Constant magic optimized-out
MagicOptimizedOut
159
Box ← NewArrayDynamicLength#74
Value
132
Return ← Box#159
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Constant undefined
Undefined
9
Constant 0x1
Int32
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
14
Constant undefined
Undefined
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
Int32
18
Constant 0x1
Int32
19
Constant 0x0
Int32
20
MinMax ← ArrayLength#17, Constant#19 (max)
Int32
21
ArgumentsLength
Int32
22
Constant 0x0
Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
27
Constant undefined
Undefined
28
Constant 0x37
Int32
29
Constant 0x0
Int32
30
Constant string 104289c2e080
String
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
36
Constant undefined
Undefined
37
Constant 0x1
Int32
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
42
Constant undefined
Undefined
43
Constant 0xc
Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
46
Constant undefined
Undefined
47
Constant 0x0
Int32
48
Bail
49
Unreachable
Block 4
50
ArgumentsLength
Int32
51
Constant 0x1
Int32
52
Compare ← ArgumentsLength#50, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
54
Constant 0x1
Int32
55
GetFrameArgument ← Constant#54
Value
56
Goto → block 7
Block 6
57
Constant undefined
Undefined
58
Box ← Constant#57
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
64
Constant undefined
Undefined
65
Constant 0x1
Int32
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant function std_Array at 104289c6c820
Object
69
Box ← Constant#68
Value
70
DebugCheckSelfHosted ← Box#69
Value
71
Constant undefined
Undefined
72
Constant 0x1
Int32
73
Unbox DebugCheckSelfHosted#70 to Object (fallible)
Object
74
Constant function std_Array at 104289c6c820
Object
75
GuardSpecificFunction ← Unbox#73, Constant#74
Object
76
NewArrayDynamicLength ← MinMax#20
Object
77
Goto → block 10
Block 9
78
CallGetIntrinsicValue
Value
79
DebugCheckSelfHosted ← CallGetIntrinsicValue#78
Value
80
Constant undefined
Undefined
81
Bail
82
Unreachable
Block 10
83
Constant 0x0
Int32
84
Goto → block 11
Block 11 (loop header)
85
Phi ← Constant#83, Add#135
Int32
86
Constant magic optimized-out
MagicOptimizedOut
87
InterruptCheck
88
Box ← Phi#85
Value
89
Unbox Box#88 to Int32 (fallible)
Int32
90
Box ← MinMax#20
Value
91
Unbox Box#90 to Int32 (fallible)
Int32
92
Compare ← Unbox#89, Unbox#91 Lt
Bool
93
Test ← Compare#92 → block 12, block 16
1
0
Block 12
94
Constant magic optimized-out
MagicOptimizedOut
95
Box ← Unbox#10
Value
96
Unbox Box#95 to Object (fallible)
Object
97
Box ← Phi#85
Value
98
Unbox Box#97 to Int32 (fallible)
Int32
99
GuardShape ← Unbox#96
Object
100
Elements ← GuardShape#99
Elements
101
InitializedLength ← Elements#100
Int32
102
BoundsCheck ← Unbox#98, InitializedLength#101
Int32
103
SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101
Int32
104
GuardElementNotHole ← Elements#100, SpectreMaskIndex#103
105
Constant true
Bool
106
Test ← Constant#105 → block 14, block 13
1
0
Block 13 (split edge)
107
Constant magic optimized-out
MagicOptimizedOut
108
Goto → block 15
Block 14
109
Constant magic optimized-out
MagicOptimizedOut
110
Box ← Unbox#10
Value
111
Unbox Box#110 to Object (fallible)
Object
112
Box ← Phi#85
Value
113
Unbox Box#112 to Int32 (fallible)
Int32
114
GuardShape ← Unbox#111
Object
115
Elements ← GuardShape#114
Elements
116
InitializedLength ← Elements#115
Int32
117
BoundsCheck ← Unbox#113, InitializedLength#116
Int32
118
SpectreMaskIndex ← BoundsCheck#117, InitializedLength#116
Int32
119
GuardElementsArePacked ← Elements#115
120
LoadElement ← Elements#115, SpectreMaskIndex#118
Value
121
Unbox Parameter#1 to Object (fallible)
Object
122
Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10
Value
123
Box ← NewArrayDynamicLength#76
Value
124
Unbox Box#123 to Object (fallible)
Object
125
Box ← Phi#85
Value
126
Unbox Box#125 to Int32 (fallible)
Int32
127
GuardShape ← Unbox#124
Object
128
Elements ← GuardShape#127
Elements
129
StoreElementHole ← GuardShape#127, Elements#128, Unbox#126, Call#122
130
Goto → block 15
Block 15 (backedge)
131
Constant magic optimized-out
MagicOptimizedOut
132
Box ← Phi#85
Value
133
Unbox Box#132 to Int32 (fallible)
Int32
134
Constant 0x1
Int32
135
Add ← Unbox#133, Constant#134 [int32]
Int32
136
Goto → block 11
Block 16
137
Constant magic optimized-out
MagicOptimizedOut
138
Box ← NewArrayDynamicLength#76
Value
139
Return ← Box#138
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Constant undefined
Undefined
9
Constant 0x1
Int32
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
14
Constant undefined
Undefined
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
Int32
18
Constant 0x1
Int32
19
Constant 0x0
Int32
20
MinMax ← ArrayLength#17, Constant#19 (max)
Int32
21
ArgumentsLength
Int32
22
Constant 0x0
Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
27
Constant undefined
Undefined
28
Constant 0x37
Int32
29
Constant 0x0
Int32
30
Constant string 104289c2e080
String
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
36
Constant undefined
Undefined
37
Constant 0x1
Int32
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
42
Constant undefined
Undefined
43
Constant 0xc
Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
46
Constant undefined
Undefined
47
Constant 0x0
Int32
48
Bail
49
Unreachable
Block 4
50
ArgumentsLength
Int32
51
Constant 0x1
Int32
52
Compare ← ArgumentsLength#50, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
54
Constant 0x1
Int32
55
GetFrameArgument ← Constant#54
Value
56
Goto → block 7
Block 6
57
Constant undefined
Undefined
58
Box ← Constant#57
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
64
Constant undefined
Undefined
65
Constant 0x1
Int32
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant function std_Array at 104289c6c820
Object
69
Box ← Constant#68
Value
70
DebugCheckSelfHosted ← Box#69
Value
71
Constant undefined
Undefined
72
Constant 0x1
Int32
73
Unbox DebugCheckSelfHosted#70 to Object (fallible)
Object
74
Constant function std_Array at 104289c6c820
Object
75
GuardSpecificFunction ← Unbox#73, Constant#74
Object
76
NewArrayDynamicLength ← MinMax#20
Object
77
Goto → block 10
Block 9
78
CallGetIntrinsicValue
Value
79
DebugCheckSelfHosted ← CallGetIntrinsicValue#78
Value
80
Constant undefined
Undefined
81
Bail
82
Unreachable
Block 10
83
Constant 0x0
Int32
84
Goto → block 11
Block 11 (loop header)
85
Phi ← Constant#83, Add#135
Int32
86
Constant magic optimized-out
MagicOptimizedOut
87
InterruptCheck
88
Box ← Phi#85
Value
89
Unbox Box#88 to Int32 (fallible)
Int32
90
Box ← MinMax#20
Value
91
Unbox Box#90 to Int32 (fallible)
Int32
92
Compare ← Unbox#89, Unbox#91 Lt
Bool
93
Test ← Compare#92 → block 12, block 16
1
0
Block 12
94
Constant magic optimized-out
MagicOptimizedOut
95
Box ← Unbox#10
Value
96
Unbox Box#95 to Object (fallible)
Object
97
Box ← Phi#85
Value
98
Unbox Box#97 to Int32 (fallible)
Int32
99
GuardShape ← Unbox#96
Object
100
Elements ← GuardShape#99
Elements
101
InitializedLength ← Elements#100
Int32
102
BoundsCheck ← Unbox#98, InitializedLength#101
Int32
103
SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101
Int32
104
GuardElementNotHole ← Elements#100, SpectreMaskIndex#103
105
Constant true
Bool
106
Test ← Constant#105 → block 14, block 13
1
0
Block 13 (split edge)
107
Constant magic optimized-out
MagicOptimizedOut
108
Goto → block 15
Block 14
109
Constant magic optimized-out
MagicOptimizedOut
110
Box ← Unbox#10
Value
111
Unbox Box#110 to Object (fallible)
Object
112
Box ← Phi#85
Value
113
Unbox Box#112 to Int32 (fallible)
Int32
114
GuardShape ← Unbox#111
Object
115
Elements ← GuardShape#114
Elements
116
InitializedLength ← Elements#115
Int32
117
BoundsCheck ← Unbox#113, InitializedLength#116
Int32
118
SpectreMaskIndex ← BoundsCheck#117, InitializedLength#116
Int32
119
GuardElementsArePacked ← Elements#115
120
LoadElement ← Elements#115, SpectreMaskIndex#118
Value
121
Unbox Parameter#1 to Object (fallible)
Object
122
Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10
Value
123
Box ← NewArrayDynamicLength#76
Value
124
Unbox Box#123 to Object (fallible)
Object
125
Box ← Phi#85
Value
126
Unbox Box#125 to Int32 (fallible)
Int32
127
GuardShape ← Unbox#124
Object
128
Elements ← GuardShape#127
Elements
129
StoreElementHole ← GuardShape#127, Elements#128, Unbox#126, Call#122
130
Goto → block 15
Block 15 (backedge)
131
Constant magic optimized-out
MagicOptimizedOut
132
Box ← Phi#85
Value
133
Unbox Box#132 to Int32 (fallible)
Int32
134
Constant 0x1
Int32
135
Add ← Unbox#133, Constant#134 [int32]
Int32
136
Goto → block 11
Block 16
137
Constant magic optimized-out
MagicOptimizedOut
138
Box ← NewArrayDynamicLength#76
Value
139
Return ← Box#138
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
Int32
21
ArgumentsLength
Int32
22
Constant 0x0
Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
Int32
52
Compare ← ArgumentsLength#21, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant function std_Array at 104289c6c820
Object
69
Box ← Constant#68
Value
70
DebugCheckSelfHosted ← Box#69
Value
73
Unbox DebugCheckSelfHosted#70 to Object (fallible)
Object
75
GuardSpecificFunction ← Unbox#73, Constant#68
Object
76
NewArrayDynamicLength ← ArrayLength#17
Object
77
Goto → block 10
Block 9
78
CallGetIntrinsicValue
Value
79
DebugCheckSelfHosted ← CallGetIntrinsicValue#78
Value
81
Bail
82
Unreachable
Block 10
84
Goto → block 11
Block 11 (loop header)
85
Phi ← Constant#22, Add#135
Int32
86
Constant magic optimized-out
MagicOptimizedOut
87
InterruptCheck
92
Compare ← Phi#85, ArrayLength#17 Lt
Bool
93
Test ← Compare#92 → block 12, block 15
1
0
Block 12
99
GuardShape ← Unbox#10
Object
100
Elements ← GuardShape#99
Elements
101
InitializedLength ← Elements#100
Int32
102
BoundsCheck ← Phi#85, InitializedLength#101
Int32
103
SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101
Int32
104
GuardElementNotHole ← Elements#100, SpectreMaskIndex#103
160
Goto → block 13
Block 13
119
GuardElementsArePacked ← Elements#100
120
LoadElement ← Elements#100, SpectreMaskIndex#103
Value
121
Unbox Parameter#1 to Object (fallible)
Object
122
Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10
Value
127
GuardShape ← NewArrayDynamicLength#76
Object
128
Elements ← GuardShape#127
Elements
129
StoreElementHole ← GuardShape#127, Elements#128, Phi#85, Call#122
130
Goto → block 14
Block 14 (backedge)
135
Add ← Phi#85, Constant#51 [int32]
Int32
136
Goto → block 11
Block 15
138
Box ← NewArrayDynamicLength#76
Value
139
Return ← Box#138
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
Int32
21
ArgumentsLength
Int32
22
Constant 0x0
Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
Int32
52
Compare ← ArgumentsLength#21, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant function std_Array at 104289c6c820
Object
69
Box ← Constant#68
Value
70
DebugCheckSelfHosted ← Box#69
Value
73
Unbox DebugCheckSelfHosted#70 to Object (fallible)
Object
75
GuardSpecificFunction ← Unbox#73, Constant#68
Object
76
NewArrayDynamicLength ← ArrayLength#17
Object
77
Goto → block 10
Block 9
78
CallGetIntrinsicValue
Value
79
DebugCheckSelfHosted ← CallGetIntrinsicValue#78
Value
81
Bail
82
Unreachable
Block 10
121
Unbox Parameter#1 to Object (fallible)
Object
84
Goto → block 11
Block 11 (loop header)
85
Phi ← Constant#22, Add#135
Int32
86
Constant magic optimized-out
MagicOptimizedOut
87
InterruptCheck
92
Compare ← Phi#85, ArrayLength#17 Lt
Bool
93
Test ← Compare#92 → block 12, block 15
1
0
Block 12
99
GuardShape ← Unbox#10
Object
100
Elements ← GuardShape#99
Elements
101
InitializedLength ← Elements#100
Int32
102
BoundsCheck ← Phi#85, InitializedLength#101
Int32
103
SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101
Int32
104
GuardElementNotHole ← Elements#100, SpectreMaskIndex#103
160
Goto → block 13
Block 13
119
GuardElementsArePacked ← Elements#100
120
LoadElement ← Elements#100, SpectreMaskIndex#103
Value
122
Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10
Value
127
GuardShape ← NewArrayDynamicLength#76
Object
128
Elements ← GuardShape#127
Elements
129
StoreElementHole ← GuardShape#127, Elements#128, Phi#85, Call#122
130
Goto → block 14
Block 14 (backedge)
135
Add ← Phi#85, Constant#51 [int32]
Int32
136
Goto → block 11
Block 15
138
Box ← NewArrayDynamicLength#76
Value
139
Return ← Box#138
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
Int32
21
ArgumentsLength
Int32
22
Constant 0x0
Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
166
Beta ← ArgumentsLength#21 I[0, 0]
Int32
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
165
Beta ← ArgumentsLength#21 F[?, ?] (U NaN U -Infinity U Infinity)
Int32
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
Int32
52
Compare ← Beta#165, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
164
Beta ← Beta#165 F[2, ?] (U Infinity)
Int32
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
163
Beta ← Beta#165 F[?, 1] (U NaN U -Infinity U -0)
Int32
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant function std_Array at 104289c6c820
Object
69
Box ← Constant#68
Value
70
DebugCheckSelfHosted ← Box#69
Value
73
Unbox DebugCheckSelfHosted#70 to Object (fallible)
Object
75
GuardSpecificFunction ← Unbox#73, Constant#68
Object
76
NewArrayDynamicLength ← ArrayLength#17
Object
77
Goto → block 10
Block 9
78
CallGetIntrinsicValue
Value
79
DebugCheckSelfHosted ← CallGetIntrinsicValue#78
Value
81
Bail
82
Unreachable
Block 10
121
Unbox Parameter#1 to Object (fallible)
Object
84
Goto → block 11
Block 11 (loop header)
85
Phi ← Constant#22, Add#135
Int32
86
Constant magic optimized-out
MagicOptimizedOut
87
InterruptCheck
92
Compare ← Phi#85, ArrayLength#17 Lt
Bool
93
Test ← Compare#92 → block 12, block 15
1
0
Block 12
162
Beta ← ArrayLength#17 I[-2147483647, 2147483647]
Int32
161
Beta ← Phi#85 I[-2147483648, 2147483646]
Int32
99
GuardShape ← Unbox#10
Object
100
Elements ← GuardShape#99
Elements
101
InitializedLength ← Elements#100
Int32
102
BoundsCheck ← Beta#161, InitializedLength#101
Int32
103
SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101
Int32
104
GuardElementNotHole ← Elements#100, SpectreMaskIndex#103
160
Goto → block 13
Block 13
119
GuardElementsArePacked ← Elements#100
120
LoadElement ← Elements#100, SpectreMaskIndex#103
Value
122
Call ← Unbox#121, Phi#60, LoadElement#120, Beta#161, Unbox#10
Value
127
GuardShape ← NewArrayDynamicLength#76
Object
128
Elements ← GuardShape#127
Elements
129
StoreElementHole ← GuardShape#127, Elements#128, Beta#161, Call#122
130
Goto → block 14
Block 14 (backedge)
135
Add ← Beta#161, Constant#51 [int32]
Int32
136
Goto → block 11
Block 15
138
Box ← NewArrayDynamicLength#76
Value
139
Return ← Box#138
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
166
Beta ← ArgumentsLength#21 I[0, 0]
I[0, 0]: Int32
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
165
Beta ← ArgumentsLength#21 F[?, ?] (U NaN U -Infinity U Infinity)
I[0, 500000]: Int32
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
I[1, 1]: Int32
52
Compare ← Beta#165, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
164
Beta ← Beta#165 F[2, ?] (U Infinity)
I[2, 500000]: Int32
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
163
Beta ← Beta#165 F[?, 1] (U NaN U -Infinity U -0)
I[0, 1] (U -0): Int32
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant function std_Array at 104289c6c820
Object
69
Box ← Constant#68
Value
70
DebugCheckSelfHosted ← Box#69
Value
73
Unbox DebugCheckSelfHosted#70 to Object (fallible)
Object
75
GuardSpecificFunction ← Unbox#73, Constant#68
Object
76
NewArrayDynamicLength ← ArrayLength#17
Object
77
Goto → block 10
Block 9
78
CallGetIntrinsicValue
Value
79
DebugCheckSelfHosted ← CallGetIntrinsicValue#78
Value
81
Bail
82
Unreachable
Block 10
121
Unbox Parameter#1 to Object (fallible)
Object
84
Goto → block 11
Block 11 (loop header)
85
Phi ← Constant#22, Add#135
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
86
Constant magic optimized-out
MagicOptimizedOut
87
InterruptCheck
92
Compare ← Phi#85, ArrayLength#17 Lt
Bool
93
Test ← Compare#92 → block 12, block 15
1
0
Block 12
162
Beta ← ArrayLength#17 I[-2147483647, 2147483647]
I[0, 2147483647]: Int32
161
Beta ← Phi#85 I[-2147483648, 2147483646]
I[0, 2147483646]: Int32
99
GuardShape ← Unbox#10
Object
100
Elements ← GuardShape#99
Elements
101
InitializedLength ← Elements#100
I[0, 268435453]: Int32
102
BoundsCheck ← Beta#161, InitializedLength#101
I[0, 2147483646]: Int32
103
SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101
I[0, 2147483646]: Int32
104
GuardElementNotHole ← Elements#100, SpectreMaskIndex#103
160
Goto → block 13
Block 13
119
GuardElementsArePacked ← Elements#100
120
LoadElement ← Elements#100, SpectreMaskIndex#103
Value
122
Call ← Unbox#121, Phi#60, LoadElement#120, Beta#161, Unbox#10
Value
127
GuardShape ← NewArrayDynamicLength#76
Object
128
Elements ← GuardShape#127
Elements
129
StoreElementHole ← GuardShape#127, Elements#128, Beta#161, Call#122
130
Goto → block 14
Block 14 (backedge)
135
Add ← Beta#161, Constant#51 [int32]
I[1, 2147483647]: Int32
136
Goto → block 11
Block 15
138
Box ← NewArrayDynamicLength#76
Value
139
Return ← Box#138
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
I[1, 1]: Int32
52
Compare ← ArgumentsLength#21, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant function std_Array at 104289c6c820
Object
69
Box ← Constant#68
Value
70
DebugCheckSelfHosted ← Box#69
Value
73
Unbox DebugCheckSelfHosted#70 to Object (fallible)
Object
75
GuardSpecificFunction ← Unbox#73, Constant#68
Object
76
NewArrayDynamicLength ← ArrayLength#17
Object
77
Goto → block 10
Block 9
78
CallGetIntrinsicValue
Value
79
DebugCheckSelfHosted ← CallGetIntrinsicValue#78
Value
81
Bail
82
Unreachable
Block 10
121
Unbox Parameter#1 to Object (fallible)
Object
84
Goto → block 11
Block 11 (loop header)
85
Phi ← Constant#22, Add#135
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
86
Constant magic optimized-out
MagicOptimizedOut
87
InterruptCheck
92
Compare ← Phi#85, ArrayLength#17 Lt
Bool
93
Test ← Compare#92 → block 12, block 15
1
0
Block 12
99
GuardShape ← Unbox#10
Object
100
Elements ← GuardShape#99
Elements
101
InitializedLength ← Elements#100
I[0, 268435453]: Int32
102
BoundsCheck ← Phi#85, InitializedLength#101
I[0, 2147483646]: Int32
103
SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101
I[0, 2147483646]: Int32
104
GuardElementNotHole ← Elements#100, SpectreMaskIndex#103
160
Goto → block 13
Block 13
119
GuardElementsArePacked ← Elements#100
120
LoadElement ← Elements#100, SpectreMaskIndex#103
Value
122
Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10
Value
127
GuardShape ← NewArrayDynamicLength#76
Object
128
Elements ← GuardShape#127
Elements
129
StoreElementHole ← GuardShape#127, Elements#128, Phi#85, Call#122
130
Goto → block 14
Block 14 (backedge)
135
Add ← Phi#85, Constant#51 [int32]
I[1, 2147483647]: Int32
136
Goto → block 11
Block 15
138
Box ← NewArrayDynamicLength#76
Value
139
Return ← Box#138
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
I[1, 1]: Int32
52
Compare ← ArgumentsLength#21, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant function std_Array at 104289c6c820
Object
69
Box ← Constant#68
Value
70
DebugCheckSelfHosted ← Box#69
Value
73
Unbox DebugCheckSelfHosted#70 to Object (fallible)
Object
75
GuardSpecificFunction ← Unbox#73, Constant#68
Object
76
NewArrayDynamicLength ← ArrayLength#17
Object
77
Goto → block 10
Block 9
78
CallGetIntrinsicValue
Value
79
DebugCheckSelfHosted ← CallGetIntrinsicValue#78
Value
81
Bail
82
Unreachable
Block 10
121
Unbox Parameter#1 to Object (fallible)
Object
84
Goto → block 11
Block 11 (loop header)
85
Phi ← Constant#22, Add#135
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
86
Constant magic optimized-out
MagicOptimizedOut
87
InterruptCheck
92
Compare ← Phi#85, ArrayLength#17 Lt
Bool
93
Test ← Compare#92 → block 12, block 15
1
0
Block 12
99
GuardShape ← Unbox#10
Object
100
Elements ← GuardShape#99
Elements
101
InitializedLength ← Elements#100
I[0, 268435453]: Int32
102
BoundsCheck ← Phi#85, InitializedLength#101
I[0, 2147483646]: Int32
103
SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101
I[0, 2147483646]: Int32
104
GuardElementNotHole ← Elements#100, SpectreMaskIndex#103
160
Goto → block 13
Block 13
119
GuardElementsArePacked ← Elements#100
120
LoadElement ← Elements#100, SpectreMaskIndex#103
Value
122
Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10
Value
127
GuardShape ← NewArrayDynamicLength#76
Object
128
Elements ← GuardShape#127
Elements
129
StoreElementHole ← GuardShape#127, Elements#128, Phi#85, Call#122
130
Goto → block 14
Block 14 (backedge)
135
Add ← Phi#85, Constant#51 [int32]
I[1, 2147483647]: Int32
136
Goto → block 11
Block 15
138
Box ← NewArrayDynamicLength#76
Value
139
Return ← Box#138
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
I[1, 1]: Int32
52
Compare ← ArgumentsLength#21, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant function std_Array at 104289c6c820
Object
69
Box ← Constant#68
Value
70
DebugCheckSelfHosted ← Box#69
Value
73
Unbox DebugCheckSelfHosted#70 to Object (fallible)
Object
75
GuardSpecificFunction ← Unbox#73, Constant#68
Object
76
NewArrayDynamicLength ← ArrayLength#17
Object
77
Goto → block 10
Block 9
78
CallGetIntrinsicValue
Value
79
DebugCheckSelfHosted ← CallGetIntrinsicValue#78
Value
81
Bail
82
Unreachable
Block 10
121
Unbox Parameter#1 to Object (fallible)
Object
84
Goto → block 11
Block 11 (loop header)
85
Phi ← Constant#22, Add#135
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
86
Constant magic optimized-out
MagicOptimizedOut
87
InterruptCheck
92
Compare ← Phi#85, ArrayLength#17 Lt
Bool
93
Test ← Compare#92 → block 12, block 15
1
0
Block 12
99
GuardShape ← Unbox#10
Object
100
Elements ← GuardShape#99
Elements
101
InitializedLength ← Elements#100
I[0, 268435453]: Int32
102
BoundsCheck ← Phi#85, InitializedLength#101
I[0, 2147483646]: Int32
103
SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101
I[0, 2147483646]: Int32
104
GuardElementNotHole ← Elements#100, SpectreMaskIndex#103
160
Goto → block 13
Block 13
119
GuardElementsArePacked ← Elements#100
120
LoadElement ← Elements#100, SpectreMaskIndex#103
Value
122
Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10
Value
127
GuardShape ← NewArrayDynamicLength#76
Object
128
Elements ← GuardShape#127
Elements
129
StoreElementHole ← GuardShape#127, Elements#128, Phi#85, Call#122
130
Goto → block 14
Block 14 (backedge)
135
Add ← Phi#85, Constant#51 [int32]
I[1, 2147483647]: Int32
136
Goto → block 11
Block 15
138
Box ← NewArrayDynamicLength#76
Value
139
Return ← Box#138
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
I[1, 1]: Int32
52
Compare ← ArgumentsLength#21, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant function std_Array at 104289c6c820
Object
69
Box ← Constant#68
Value
70
DebugCheckSelfHosted ← Box#69
Value
73
Unbox DebugCheckSelfHosted#70 to Object (fallible)
Object
75
GuardSpecificFunction ← Unbox#73, Constant#68
Object
76
NewArrayDynamicLength ← ArrayLength#17
Object
77
Goto → block 10
Block 9
78
CallGetIntrinsicValue
Value
79
DebugCheckSelfHosted ← CallGetIntrinsicValue#78
Value
81
Bail
82
Unreachable
Block 10
121
Unbox Parameter#1 to Object (fallible)
Object
84
Goto → block 11
Block 11 (loop header)
85
Phi ← Constant#22, Add#135
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
86
Constant magic optimized-out
MagicOptimizedOut
87
InterruptCheck
92
Compare ← Phi#85, ArrayLength#17 Lt
Bool
93
Test ← Compare#92 → block 12, block 15
1
0
Block 12
99
GuardShape ← Unbox#10
Object
100
Elements ← GuardShape#99
Elements
101
InitializedLength ← Elements#100
I[0, 268435453]: Int32
102
BoundsCheck ← Phi#85, InitializedLength#101
I[0, 2147483646]: Int32
103
SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101
I[0, 2147483646]: Int32
104
GuardElementNotHole ← Elements#100, SpectreMaskIndex#103
160
Goto → block 13
Block 13
119
GuardElementsArePacked ← Elements#100
120
LoadElement ← Elements#100, SpectreMaskIndex#103
Value
122
Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10
Value
127
GuardShape ← NewArrayDynamicLength#76
Object
128
Elements ← GuardShape#127
Elements
129
StoreElementHole ← GuardShape#127, Elements#128, Phi#85, Call#122
130
Goto → block 14
Block 14 (backedge)
135
Add ← Phi#85, Constant#51 [int32]
I[1, 2147483647]: Int32
136
Goto → block 11
Block 15
138
Box ← NewArrayDynamicLength#76
Value
139
Return ← Box#138
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
I[1, 1]: Int32
52
Compare ← ArgumentsLength#21, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant function std_Array at 104289c6c820
Object
69
Box ← Constant#68
Value
70
DebugCheckSelfHosted ← Box#69
Value
73
Unbox DebugCheckSelfHosted#70 to Object (fallible)
Object
75
GuardSpecificFunction ← Unbox#73, Constant#68
Object
76
NewArrayDynamicLength ← ArrayLength#17
Object
77
Goto → block 10
Block 9
78
CallGetIntrinsicValue
Value
79
DebugCheckSelfHosted ← CallGetIntrinsicValue#78
Value
81
Bail
82
Unreachable
Block 10
121
Unbox Parameter#1 to Object (fallible)
Object
84
Goto → block 11
Block 11 (loop header)
85
Phi ← Constant#22, Add#135
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
86
Constant magic optimized-out
MagicOptimizedOut
87
InterruptCheck
92
Compare ← Phi#85, ArrayLength#17 Lt
Bool
93
Test ← Compare#92 → block 12, block 15
1
0
Block 12
99
GuardShape ← Unbox#10
Object
100
Elements ← GuardShape#99
Elements
101
InitializedLength ← Elements#100
I[0, 268435453]: Int32
102
BoundsCheck ← Phi#85, InitializedLength#101
I[0, 2147483646]: Int32
103
SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101
I[0, 2147483646]: Int32
104
GuardElementNotHole ← Elements#100, SpectreMaskIndex#103
160
Goto → block 13
Block 13
119
GuardElementsArePacked ← Elements#100
120
LoadElement ← Elements#100, SpectreMaskIndex#103
Value
122
Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10
Value
127
GuardShape ← NewArrayDynamicLength#76
Object
128
Elements ← GuardShape#127
Elements
129
StoreElementHole ← GuardShape#127, Elements#128, Phi#85, Call#122
130
Goto → block 14
Block 14 (backedge)
135
Add ← Phi#85, Constant#51 [int32]
I[1, 2147483647]: Int32
136
Goto → block 11
Block 15
138
Box ← NewArrayDynamicLength#76
Value
139
Return ← Box#138
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
I[1, 1]: Int32
52
Compare ← ArgumentsLength#21, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant function std_Array at 104289c6c820
Object
69
Box ← Constant#68
Value
70
DebugCheckSelfHosted ← Box#69
Value
73
Unbox DebugCheckSelfHosted#70 to Object (fallible)
Object
75
GuardSpecificFunction ← Unbox#73, Constant#68
Object
76
NewArrayDynamicLength ← ArrayLength#17
Object
77
Goto → block 10
Block 9
78
CallGetIntrinsicValue
Value
79
DebugCheckSelfHosted ← CallGetIntrinsicValue#78
Value
81
Bail
82
Unreachable
Block 10
121
Unbox Parameter#1 to Object (fallible)
Object
84
Goto → block 11
Block 11 (loop header)
85
Phi ← Constant#22, Add#135
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
86
Constant magic optimized-out
MagicOptimizedOut
87
InterruptCheck
92
Compare ← Phi#85, ArrayLength#17 Lt
Bool
93
Test ← Compare#92 → block 12, block 15
1
0
Block 12
99
GuardShape ← Unbox#10
Object
100
Elements ← GuardShape#99
Elements
101
InitializedLength ← Elements#100
I[0, 268435453]: Int32
102
BoundsCheck ← Phi#85, InitializedLength#101
I[0, 2147483646]: Int32
103
SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101
I[0, 2147483646]: Int32
104
GuardElementNotHole ← Elements#100, SpectreMaskIndex#103
160
Goto → block 13
Block 13
119
GuardElementsArePacked ← Elements#100
120
LoadElement ← Elements#100, SpectreMaskIndex#103
Value
122
Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10
Value
127
GuardShape ← NewArrayDynamicLength#76
Object
128
Elements ← GuardShape#127
Elements
129
StoreElementHole ← GuardShape#127, Elements#128, Phi#85, Call#122
130
Goto → block 14
Block 14 (backedge)
135
Add ← Phi#85, Constant#51 [int32]
I[1, 2147483647]: Int32
136
Goto → block 11
Block 15
138
Box ← NewArrayDynamicLength#76
Value
139
Return ← Box#138
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
I[1, 1]: Int32
52
Compare ← ArgumentsLength#21, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant function std_Array at 104289c6c820
Object
69
Box ← Constant#68
Value
70
DebugCheckSelfHosted ← Box#69
Value
73
Unbox DebugCheckSelfHosted#70 to Object (fallible)
Object
75
GuardSpecificFunction ← Unbox#73, Constant#68
Object
76
NewArrayDynamicLength ← ArrayLength#17
Object
77
Goto → block 10
Block 9
78
CallGetIntrinsicValue
Value
79
DebugCheckSelfHosted ← CallGetIntrinsicValue#78
Value
81
Bail
82
Unreachable
Block 10
121
Unbox Parameter#1 to Object (fallible)
Object
84
Goto → block 11
Block 11 (loop header)
85
Phi ← Constant#22, Add#135
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
86
Constant magic optimized-out
MagicOptimizedOut
87
InterruptCheck
92
Compare ← Phi#85, ArrayLength#17 Lt
Bool
93
Test ← Compare#92 → block 12, block 15
1
0
Block 12
99
GuardShape ← Unbox#10
Object
100
Elements ← GuardShape#99
Elements
101
InitializedLength ← Elements#100
I[0, 268435453]: Int32
102
BoundsCheck ← Phi#85, InitializedLength#101
I[0, 2147483646]: Int32
103
SpectreMaskIndex ← BoundsCheck#102, InitializedLength#101
I[0, 2147483646]: Int32
104
GuardElementNotHole ← Elements#100, SpectreMaskIndex#103
160
Goto → block 13
Block 13
119
GuardElementsArePacked ← Elements#100
120
LoadElement ← Elements#100, SpectreMaskIndex#103
Value
122
Call ← Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10
Value
127
GuardShape ← NewArrayDynamicLength#76
Object
128
Elements ← GuardShape#127
Elements
129
StoreElementHole ← GuardShape#127, Elements#128, Phi#85, Call#122
130
Goto → block 14
Block 14 (backedge)
135
Add ← Phi#85, Constant#51 [int32]
I[1, 2147483647]: Int32
136
Goto → block 11
Block 15
138
Box ← NewArrayDynamicLength#76
Value
139
Return ← Box#138
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 7
Block 6
40
Box ← Constant#2
Value
41
Goto → block 7
Block 7
42
Phi ← Box#40, GetFrameArgument#38
Value
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← Unbox#8
Bool
47
Test ← HasShape#46 → block 8, block 9
1
0
Block 8
48
Constant function std_Array at 104289c6c820
Object
49
Box ← Constant#48
Value
50
DebugCheckSelfHosted ← Box#49
Value
51
Unbox DebugCheckSelfHosted#50 to Object (fallible)
Object
52
GuardSpecificFunction ← Unbox#51, Constant#48
Object
53
NewArrayDynamicLength ← ArrayLength#14
Object
54
Goto → block 10
Block 9
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Bail
58
Unreachable
Block 10
59
Unbox Parameter#1 to Object (fallible)
Object
60
Goto → block 11
Block 11 (loop header)
61
Phi ← Constant#16, Add#80
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
62
Constant magic optimized-out
MagicOptimizedOut
63
InterruptCheck
64
Compare ← Phi#61, ArrayLength#14 Lt
Bool
65
Test ← Compare#64 → block 12, block 15
1
0
Block 12
66
GuardShape ← Unbox#8
Object
67
Elements ← GuardShape#66
Elements
68
InitializedLength ← Elements#67
I[0, 268435453]: Int32
69
BoundsCheck ← Phi#61, InitializedLength#68
I[0, 2147483646]: Int32
70
SpectreMaskIndex ← BoundsCheck#69, InitializedLength#68
I[0, 2147483646]: Int32
71
GuardElementNotHole ← Elements#67, SpectreMaskIndex#70
72
Goto → block 13
Block 13
73
GuardElementsArePacked ← Elements#67
74
LoadElement ← Elements#67, SpectreMaskIndex#70
Value
75
Call ← Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8
Value
76
GuardShape ← NewArrayDynamicLength#53
Object
77
Elements ← GuardShape#76
Elements
78
StoreElementHole ← GuardShape#76, Elements#77, Phi#61, Call#75
79
Goto → block 14
Block 14 (backedge)
80
Add ← Phi#61, Constant#35 [int32]
I[1, 2147483647]: Int32
81
Goto → block 11
Block 15
82
Box ← NewArrayDynamicLength#53
Value
83
Return ← Box#82
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 7
Block 6
40
Box ← Constant#2
Value
41
Goto → block 7
Block 7
42
Phi ← Box#40, GetFrameArgument#38
Value
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← Unbox#8
Bool
47
Test ← HasShape#46 → block 8, block 9
1
0
Block 8
48
Constant function std_Array at 104289c6c820
Object
49
Box ← Constant#48
Value
50
DebugCheckSelfHosted ← Box#49
Value
51
Unbox DebugCheckSelfHosted#50 to Object (fallible)
Object
52
GuardSpecificFunction ← Unbox#51, Constant#48
Object
53
NewArrayDynamicLength ← ArrayLength#14
Object
54
Goto → block 10
Block 9
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Bail
58
Unreachable
Block 10
59
Unbox Parameter#1 to Object (fallible)
Object
60
Goto → block 11
Block 11 (loop header)
61
Phi ← Constant#16, Add#80
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
62
Constant magic optimized-out
MagicOptimizedOut
63
InterruptCheck
64
Compare ← Phi#61, ArrayLength#14 Lt
Bool
65
Test ← Compare#64 → block 12, block 15
1
0
Block 12
66
GuardShape ← Unbox#8
Object
67
Elements ← GuardShape#66
Elements
68
InitializedLength ← Elements#67
I[0, 268435453]: Int32
69
BoundsCheck ← Phi#61, InitializedLength#68
I[0, 2147483646]: Int32
70
SpectreMaskIndex ← BoundsCheck#69, InitializedLength#68
I[0, 2147483646]: Int32
71
GuardElementNotHole ← Elements#67, SpectreMaskIndex#70
72
Goto → block 13
Block 13
73
GuardElementsArePacked ← Elements#67
74
LoadElement ← Elements#67, SpectreMaskIndex#70
Value
75
Call ← Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8
Value
76
GuardShape ← NewArrayDynamicLength#53
Object
77
Elements ← GuardShape#76
Elements
78
StoreElementHole ← GuardShape#76, Elements#77, Phi#61, Call#75
79
Goto → block 14
Block 14 (backedge)
80
Add ← Phi#61, Constant#35 [int32]
I[1, 2147483647]: Int32
81
Goto → block 11
Block 15
82
Box ← NewArrayDynamicLength#53
Value
83
Return ← Box#82
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 7
Block 6
40
Box ← Constant#2
Value
41
Goto → block 7
Block 7
42
Phi ← Box#40, GetFrameArgument#38
Value
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← Unbox#8
Bool
47
Test ← HasShape#46 → block 8, block 9
1
0
Block 8
48
Constant function std_Array at 104289c6c820
Object
49
Box ← Constant#48
Value
50
DebugCheckSelfHosted ← Box#49
Value
51
Unbox DebugCheckSelfHosted#50 to Object (fallible)
Object
52
GuardSpecificFunction ← Unbox#51, Constant#48
Object
53
NewArrayDynamicLength ← ArrayLength#14
Object
54
Goto → block 10
Block 9
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Bail
58
Unreachable
Block 10
59
Unbox Parameter#1 to Object (fallible)
Object
60
Goto → block 11
Block 11 (loop header)
61
Phi ← Constant#16, Add#80
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
62
Constant magic optimized-out
MagicOptimizedOut
63
InterruptCheck
64
Compare ← Phi#61, ArrayLength#14 Lt
Bool
65
Test ← Compare#64 → block 12, block 15
1
0
Block 12
66
GuardShape ← Unbox#8
Object
67
Elements ← GuardShape#66
Elements
68
InitializedLength ← Elements#67
I[0, 268435453]: Int32
69
BoundsCheck ← Phi#61, InitializedLength#68
I[0, 2147483646]: Int32
70
SpectreMaskIndex ← BoundsCheck#69, InitializedLength#68
I[0, 2147483646]: Int32
71
GuardElementNotHole ← Elements#67, SpectreMaskIndex#70
72
Goto → block 13
Block 13
73
GuardElementsArePacked ← Elements#67
74
LoadElement ← Elements#67, SpectreMaskIndex#70
Value
75
Call ← Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8
Value
76
GuardShape ← NewArrayDynamicLength#53
Object
77
Elements ← GuardShape#76
Elements
78
StoreElementHole ← GuardShape#76, Elements#77, Phi#61, Call#75
79
Goto → block 14
Block 14 (backedge)
80
Add ← Phi#61, Constant#35 [int32]
I[1, 2147483647]: Int32
81
Goto → block 11
Block 15
82
Box ← NewArrayDynamicLength#53
Value
83
Return ← Box#82
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 7
Block 6
40
Box ← Constant#2
Value
41
Goto → block 7
Block 7
42
Phi ← Box#40, GetFrameArgument#38
Value
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← Unbox#8
Bool
47
Test ← HasShape#46 → block 8, block 9
1
0
Block 8
48
Constant function std_Array at 104289c6c820
Object
49
Box ← Constant#48
Value
50
DebugCheckSelfHosted ← Box#49
Value
51
Unbox DebugCheckSelfHosted#50 to Object (fallible)
Object
52
GuardSpecificFunction ← Unbox#51, Constant#48
Object
53
NewArrayDynamicLength ← ArrayLength#14
Object
54
Goto → block 10
Block 9
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Bail
58
Unreachable
Block 10
59
Unbox Parameter#1 to Object (fallible)
Object
60
Goto → block 11
Block 11 (loop header)
61
Phi ← Constant#16, Add#80
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
62
Constant magic optimized-out
MagicOptimizedOut
63
InterruptCheck
64
Compare ← Phi#61, ArrayLength#14 Lt
Bool
65
Test ← Compare#64 → block 12, block 15
1
0
Block 12
66
GuardShape ← Unbox#8
Object
67
Elements ← GuardShape#66
Elements
68
InitializedLength ← Elements#67
I[0, 268435453]: Int32
69
BoundsCheck ← Phi#61, InitializedLength#68
I[0, 2147483646]: Int32
70
SpectreMaskIndex ← Phi#61, InitializedLength#68
I[0, 2147483646]: Int32
71
GuardElementNotHole ← Elements#67, SpectreMaskIndex#70
72
Goto → block 13
Block 13
73
GuardElementsArePacked ← Elements#67
74
LoadElement ← Elements#67, SpectreMaskIndex#70
Value
75
Call ← Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8
Value
76
GuardShape ← NewArrayDynamicLength#53
Object
77
Elements ← GuardShape#76
Elements
78
StoreElementHole ← GuardShape#76, Elements#77, Phi#61, Call#75
79
Goto → block 14
Block 14 (backedge)
80
Add ← Phi#61, Constant#35 [int32]
I[1, 2147483647]: Int32
81
Goto → block 11
Block 15
82
Box ← NewArrayDynamicLength#53
Value
83
Return ← Box#82
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 7
Block 6
40
Box ← Constant#2
Value
41
Goto → block 7
Block 7
42
Phi ← Box#40, GetFrameArgument#38
Value
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← Unbox#8
Bool
47
Test ← HasShape#46 → block 8, block 9
1
0
Block 8
48
Constant function std_Array at 104289c6c820
Object
49
Box ← Constant#48
Value
50
DebugCheckSelfHosted ← Box#49
Value
51
Unbox DebugCheckSelfHosted#50 to Object (fallible)
Object
52
GuardSpecificFunction ← Unbox#51, Constant#48
Object
53
NewArrayDynamicLength ← ArrayLength#14
Object
54
Goto → block 10
Block 9
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Bail
58
Unreachable
Block 10
59
Unbox Parameter#1 to Object (fallible)
Object
60
Goto → block 11
Block 11 (loop header)
61
Phi ← Constant#16, Add#80
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
62
Constant magic optimized-out
MagicOptimizedOut
63
InterruptCheck
64
Compare ← Phi#61, ArrayLength#14 Lt
Bool
65
Test ← Compare#64 → block 12, block 15
1
0
Block 12
66
GuardShape ← Unbox#8
Object
67
Elements ← GuardShape#66
Elements
68
InitializedLength ← Elements#67
I[0, 268435453]: Int32
69
BoundsCheck ← Phi#61, InitializedLength#68
I[0, 2147483646]: Int32
70
SpectreMaskIndex ← Phi#61, InitializedLength#68
I[0, 2147483646]: Int32
71
GuardElementNotHole ← Elements#67, SpectreMaskIndex#70
72
Goto → block 13
Block 13
73
GuardElementsArePacked ← Elements#67
74
LoadElement ← Elements#67, SpectreMaskIndex#70
Value
75
Call ← Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8
Value
76
GuardShape ← NewArrayDynamicLength#53
Object
77
Elements ← GuardShape#76
Elements
78
StoreElementHole ← GuardShape#76, Elements#77, Phi#61, Call#75
79
Goto → block 14
Block 14 (backedge)
80
Add ← Phi#61, Constant#35 [int32]
I[1, 2147483647]: Int32
81
Goto → block 11
Block 15
82
Box ← NewArrayDynamicLength#53
Value
83
Return ← Box#82
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 7
Block 6
40
Box ← Constant#2
Value
41
Goto → block 7
Block 7
42
Phi ← Box#40, GetFrameArgument#38
Value
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← Unbox#8
Bool
47
Test ← HasShape#46 → block 8, block 9
1
0
Block 8
48
Constant function std_Array at 104289c6c820
Object
49
Box ← Constant#48
Value
50
DebugCheckSelfHosted ← Box#49
Value
51
Unbox DebugCheckSelfHosted#50 to Object (fallible)
Object
52
GuardSpecificFunction ← Unbox#51, Constant#48
Object
53
NewArrayDynamicLength ← ArrayLength#14
Object
54
Goto → block 10
Block 9
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Bail
58
Unreachable
Block 10
59
Unbox Parameter#1 to Object (fallible)
Object
60
Goto → block 11
Block 11 (loop header)
61
Phi ← Constant#16, Add#80
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
62
Constant magic optimized-out
MagicOptimizedOut
63
InterruptCheck
64
Compare ← Phi#61, ArrayLength#14 Lt
Bool
65
Test ← Compare#64 → block 12, block 15
1
0
Block 12
66
GuardShape ← Unbox#8
Object
67
Elements ← GuardShape#66
Elements
68
InitializedLength ← Elements#67
I[0, 268435453]: Int32
69
BoundsCheck ← Phi#61, InitializedLength#68
I[0, 2147483646]: Int32
70
SpectreMaskIndex ← Phi#61, InitializedLength#68
I[0, 2147483646]: Int32
71
GuardElementNotHole ← Elements#67, SpectreMaskIndex#70
72
Goto → block 13
Block 13
73
GuardElementsArePacked ← Elements#67
74
LoadElement ← Elements#67, SpectreMaskIndex#70
Value
75
Call ← Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8
Value
76
GuardShape ← NewArrayDynamicLength#53
Object
77
Elements ← GuardShape#76
Elements
78
StoreElementHole ← GuardShape#76, Elements#77, Phi#61, Call#75
79
Goto → block 14
Block 14 (backedge)
80
Add ← Phi#61, Constant#35 [int32]
I[1, 2147483647]: Int32
81
Goto → block 11
Block 15
82
Box ← NewArrayDynamicLength#53
Value
83
Return ← Box#82
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 7
Block 6
40
Box ← Constant#2
Value
41
Goto → block 7
Block 7
42
Phi ← Box#40, GetFrameArgument#38
Value
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← Unbox#8
Bool
47
Test ← HasShape#46 → block 8, block 9
1
0
Block 8
48
Constant function std_Array at 104289c6c820
Object
49
Box ← Constant#48
Value
50
DebugCheckSelfHosted ← Box#49
Value
51
Unbox DebugCheckSelfHosted#50 to Object (fallible)
Object
52
GuardSpecificFunction ← Unbox#51, Constant#48
Object
53
NewArrayDynamicLength ← ArrayLength#14
Object
54
Goto → block 10
Block 9
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Bail
58
Unreachable
Block 10
59
Unbox Parameter#1 to Object (fallible)
Object
60
Goto → block 11
Block 11 (loop header)
61
Phi ← Constant#16, Add#80
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
62
Constant magic optimized-out
MagicOptimizedOut
63
InterruptCheck
64
Compare ← Phi#61, ArrayLength#14 Lt
Bool
65
Test ← Compare#64 → block 12, block 15
1
0
Block 12
66
GuardShape ← Unbox#8
Object
67
Elements ← GuardShape#66
Elements
68
InitializedLength ← Elements#67
I[0, 268435453]: Int32
69
BoundsCheck ← Phi#61, InitializedLength#68
I[0, 2147483646]: Int32
70
SpectreMaskIndex ← Phi#61, InitializedLength#68
I[0, 2147483646]: Int32
71
GuardElementNotHole ← Elements#67, SpectreMaskIndex#70
72
Goto → block 13
Block 13
73
GuardElementsArePacked ← Elements#67
74
LoadElement ← Elements#67, SpectreMaskIndex#70
Value
75
Call ← Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8
Value
76
GuardShape ← NewArrayDynamicLength#53
Object
77
Elements ← GuardShape#76
Elements
78
StoreElementHole ← GuardShape#76, Elements#77, Phi#61, Call#75
79
Goto → block 14
Block 14 (backedge)
80
Add ← Phi#61, Constant#35 [int32]
I[1, 2147483647]: Int32
81
Goto → block 11
Block 15
82
Box ← NewArrayDynamicLength#53
Value
83
Return ← Box#82
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
167
DebugEnterGCUnsafeRegion
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
168
DebugLeaveGCUnsafeRegion
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 7
Block 6
40
Box ← Constant#2
Value
41
Goto → block 7
Block 7
42
Phi ← Box#40, GetFrameArgument#38
Value
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← Unbox#8
Bool
47
Test ← HasShape#46 → block 8, block 9
1
0
Block 8
48
Constant function std_Array at 104289c6c820
Object
49
Box ← Constant#48
Value
50
DebugCheckSelfHosted ← Box#49
Value
51
Unbox DebugCheckSelfHosted#50 to Object (fallible)
Object
52
GuardSpecificFunction ← Unbox#51, Constant#48
Object
53
NewArrayDynamicLength ← ArrayLength#14
Object
54
Goto → block 10
Block 9
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Bail
58
Unreachable
Block 10
59
Unbox Parameter#1 to Object (fallible)
Object
60
Goto → block 11
Block 11 (loop header)
61
Phi ← Constant#16, Add#80
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
62
Constant magic optimized-out
MagicOptimizedOut
63
InterruptCheck
64
Compare ← Phi#61, ArrayLength#14 Lt
Bool
65
Test ← Compare#64 → block 12, block 15
1
0
Block 12
66
GuardShape ← Unbox#8
Object
67
Elements ← GuardShape#66
Elements
173
DebugEnterGCUnsafeRegion
171
DebugEnterGCUnsafeRegion
68
InitializedLength ← Elements#67
I[0, 268435453]: Int32
174
DebugLeaveGCUnsafeRegion
69
BoundsCheck ← Phi#61, InitializedLength#68
I[0, 2147483646]: Int32
70
SpectreMaskIndex ← Phi#61, InitializedLength#68
I[0, 2147483646]: Int32
71
GuardElementNotHole ← Elements#67, SpectreMaskIndex#70
172
DebugLeaveGCUnsafeRegion
72
Goto → block 13
Block 13
73
GuardElementsArePacked ← Elements#67
170
KeepAliveObject ← GuardShape#66
74
LoadElement ← Elements#67, SpectreMaskIndex#70
Value
169
KeepAliveObject ← GuardShape#66
75
Call ← Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8
Value
76
GuardShape ← NewArrayDynamicLength#53
Object
77
Elements ← GuardShape#76
Elements
78
StoreElementHole ← GuardShape#76, Elements#77, Phi#61, Call#75
79
Goto → block 14
Block 14 (backedge)
80
Add ← Phi#61, Constant#35 [int32]
I[1, 2147483647]: Int32
81
Goto → block 11
Block 15
82
Box ← NewArrayDynamicLength#53
Value
83
Return ← Box#82
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
167
DebugEnterGCUnsafeRegion
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
168
DebugLeaveGCUnsafeRegion
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 7
Block 6
40
Box ← Constant#2
Value
41
Goto → block 7
Block 7
42
Phi ← Box#40, GetFrameArgument#38
Value
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← Unbox#8
Bool
47
Test ← HasShape#46 → block 8, block 9
1
0
Block 8
48
Constant function std_Array at 104289c6c820
Object
49
Box ← Constant#48
Value
50
DebugCheckSelfHosted ← Box#49
Value
51
Unbox Box#49 to Object (fallible)
Object
52
GuardSpecificFunction ← Unbox#51, Constant#48
Object
53
NewArrayDynamicLength ← ArrayLength#14
Object
54
Goto → block 10
Block 9
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Bail
58
Unreachable
Block 10
59
Unbox Parameter#1 to Object (fallible)
Object
60
Goto → block 11
Block 11 (loop header)
61
Phi ← Constant#16, Add#80
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
62
Constant magic optimized-out
MagicOptimizedOut
63
InterruptCheck
64
Compare ← Phi#61, ArrayLength#14 Lt
Bool
65
Test ← Compare#64 → block 12, block 15
1
0
Block 12
66
GuardShape ← Unbox#8
Object
67
Elements ← GuardShape#66
Elements
173
DebugEnterGCUnsafeRegion
171
DebugEnterGCUnsafeRegion
68
InitializedLength ← Elements#67
I[0, 268435453]: Int32
174
DebugLeaveGCUnsafeRegion
69
BoundsCheck ← Phi#61, InitializedLength#68
I[0, 2147483646]: Int32
70
SpectreMaskIndex ← Phi#61, InitializedLength#68
I[0, 2147483646]: Int32
71
GuardElementNotHole ← Elements#67, SpectreMaskIndex#70
172
DebugLeaveGCUnsafeRegion
72
Goto → block 13
Block 13
73
GuardElementsArePacked ← Elements#67
170
KeepAliveObject ← GuardShape#66
74
LoadElement ← Elements#67, SpectreMaskIndex#70
Value
169
KeepAliveObject ← GuardShape#66
75
Call ← Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8
Value
76
GuardShape ← NewArrayDynamicLength#53
Object
77
Elements ← GuardShape#76
Elements
78
StoreElementHole ← GuardShape#76, Elements#77, Phi#61, Call#75
79
Goto → block 14
Block 14 (backedge)
80
Add ← Phi#61, Constant#35 [int32]
I[1, 2147483647]: Int32
81
Goto → block 11
Block 15
82
Box ← NewArrayDynamicLength#53
Value
83
Return ← Box#82
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
167
DebugEnterGCUnsafeRegion
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
168
DebugLeaveGCUnsafeRegion
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 7
Block 6
40
Box ← Constant#2
Value
41
Goto → block 7
Block 7
42
Phi ← Box#40, GetFrameArgument#38
Value
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← Unbox#8
Bool
47
Test ← HasShape#46 → block 8, block 9
1
0
Block 8
48
Constant function std_Array at 104289c6c820
Object
49
Box ← Constant#48
Value
50
DebugCheckSelfHosted ← Box#49
Value
51
Unbox Box#49 to Object (fallible)
Object
52
GuardSpecificFunction ← Unbox#51, Constant#48
Object
53
NewArrayDynamicLength ← ArrayLength#14
Object
54
Goto → block 10
Block 9
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Bail
58
Unreachable
Block 10
59
Unbox Parameter#1 to Object (fallible)
Object
60
Goto → block 11
Block 11 (loop header)
61
Phi ← Constant#16, Add#80
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
62
Constant magic optimized-out
MagicOptimizedOut
63
InterruptCheck
64
Compare ← Phi#61, ArrayLength#14 Lt
Bool
65
Test ← Compare#64 → block 12, block 15
1
0
Block 12
66
GuardShape ← Unbox#8
Object
67
Elements ← GuardShape#66
Elements
173
DebugEnterGCUnsafeRegion
171
DebugEnterGCUnsafeRegion
68
InitializedLength ← Elements#67
I[0, 268435453]: Int32
174
DebugLeaveGCUnsafeRegion
69
BoundsCheck ← Phi#61, InitializedLength#68
I[0, 2147483646]: Int32
70
SpectreMaskIndex ← Phi#61, InitializedLength#68
I[0, 2147483646]: Int32
71
GuardElementNotHole ← Elements#67, SpectreMaskIndex#70
172
DebugLeaveGCUnsafeRegion
72
Goto → block 13
Block 13
73
GuardElementsArePacked ← Elements#67
170
KeepAliveObject ← GuardShape#66
74
LoadElement ← Elements#67, SpectreMaskIndex#70
Value
169
KeepAliveObject ← GuardShape#66
75
Call ← Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8
Value
76
GuardShape ← NewArrayDynamicLength#53
Object
77
Elements ← GuardShape#76
Elements
78
StoreElementHole ← GuardShape#76, Elements#77, Phi#61, Call#75
79
Goto → block 14
Block 14 (backedge)
80
Add ← Phi#61, Constant#35 [int32]
I[1, 2147483647]: Int32
81
Goto → block 11
Block 15
82
Box ← NewArrayDynamicLength#53
Value
83
Return ← Box#82
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28560
String
29
Bail
30
UnreachableResult
Value
31
Goto → block 2
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
47
UnreachableResult
Value
48
Bail
49
UnreachableResult
Value
50
Goto → block 4
Block 4
51
Constant 0x0
Int32
52
ArgumentsLength
Int32
53
Constant 0x1
Int32
54
Compare ← ArgumentsLength#52, Constant#53 Gt
Bool
55
Test ← Compare#54 → block 5, block 6
1
0
Block 5
56
Constant 0x1
Int32
57
GetFrameArgument ← Constant#56
Value
58
Goto → block 16
Block 6
59
Constant 0x0
Int32
60
Compare ← MinMax#18, Constant#59 StrictEq
Bool
61
Test ← Compare#60 → block 7, block 8
1
0
Block 7
62
CallGetIntrinsicValue
Value
63
DebugCheckSelfHosted ← CallGetIntrinsicValue#62
Value
64
Constant undefined
Undefined
65
Constant 0x34
Int32
66
Bail
67
UnreachableResult
Value
68
Throw ← UnreachableResult#67
69
Unreachable
Block 8
70
Constant false
Bool
81
Goto → block 9
Block 9 (loop header)
71
Phi ← Constant#2, Constant#2
Value
72
Phi ← Constant#2, Constant#2
Value
73
Phi ← Parameter#0, Parameter#0
Value
74
Phi ← Parameter#1, Parameter#1
Value
75
Phi ← Unbox#9, Unbox#9
Value
76
Phi ← MinMax#18, MinMax#18
Value
77
Phi ← Constant#51, UnreachableResult#91
Value
78
Phi ← Constant#2, Constant#2
Value
79
Phi ← Constant#70, Constant#70
Value
80
Phi ← Parameter#0, Parameter#0
Value
82
InterruptCheck
83
Bail
84
UnreachableResult
Bool
85
Test ← UnreachableResult#84 → block 10, block 11
1
0
Block 10
86
Constant true
Bool
87
Goto → block 13
Block 11
88
Bail
89
UnreachableResult
Value
90
Bail
91
UnreachableResult
Value
92
Bail
93
UnreachableResult
Bool
94
Test ← UnreachableResult#93 → block 12, block 13
1
0
Block 12 (backedge)
95
Goto → block 9
Block 13
96
Phi ← Phi#77, UnreachableResult#91
Value
97
Phi ← Constant#86, Phi#79
Value
98
Test ← Phi#97 → block 15, block 14
1
0
Block 14
99
CallGetIntrinsicValue
Value
100
DebugCheckSelfHosted ← CallGetIntrinsicValue#99
Value
101
Constant undefined
Undefined
102
Constant 0x34
Int32
103
Bail
104
UnreachableResult
Value
105
Throw ← UnreachableResult#104
106
Unreachable
Block 15
107
Bail
108
UnreachableResult
Value
109
Bail
110
UnreachableResult
Value
111
Bail
112
UnreachableResult
Value
113
Goto → block 16
Block 16
114
Phi ← Phi#71, Constant#2
Value
115
Phi ← Phi#72, Constant#2
Value
116
Phi ← Phi#73, Parameter#0
Value
117
Phi ← Phi#74, Parameter#1
Value
118
Phi ← Phi#75, Unbox#9
Value
119
Phi ← Phi#76, MinMax#18
Value
120
Phi ← UnreachableResult#110, Constant#51
Value
121
Phi ← UnreachableResult#112, GetFrameArgument#57
Value
122
Phi ← Phi#97, Constant#2
Value
123
Phi ← Phi#80, Parameter#0
Value
134
Goto → block 17
Block 17 (loop header)
124
Phi ← Phi#114, Phi#114
Value
125
Phi ← Phi#115, Phi#115
Value
126
Phi ← Phi#116, Phi#116
Value
127
Phi ← Phi#117, Phi#117
Value
128
Phi ← Phi#118, Phi#118
Value
129
Phi ← Phi#119, Phi#119
Value
130
Phi ← Phi#120, Add#165
Value
131
Phi ← Phi#121, Phi#162
Value
132
Phi ← Phi#122, Phi#122
Value
133
Phi ← Phi#123, Phi#123
Value
135
InterruptCheck
136
Unbox Phi#130 to Int32 (fallible)
Int32
137
Unbox Phi#129 to Int32 (fallible)
Int32
138
Compare ← Unbox#136, Unbox#137 Lt
Bool
139
Test ← Compare#138 → block 18, block 21
1
0
Block 18
140
Unbox Phi#128 to Object (fallible)
Object
141
Unbox Phi#130 to Int32 (fallible)
Int32
142
GuardShape ← Unbox#140
Object
143
Elements ← GuardShape#142
Elements
144
InitializedLength ← Elements#143
Int32
145
BoundsCheck ← Unbox#141, InitializedLength#144
Int32
146
SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144
Int32
147
GuardElementNotHole ← Elements#143, SpectreMaskIndex#146
148
Constant true
Bool
149
Test ← Constant#148 → block 19, block 20
1
0
Block 19
150
Constant undefined
Undefined
151
Unbox Phi#128 to Object (fallible)
Object
152
Unbox Phi#130 to Int32 (fallible)
Int32
153
GuardShape ← Unbox#151
Object
154
Elements ← GuardShape#153
Elements
155
InitializedLength ← Elements#154
Int32
156
BoundsCheck ← Unbox#152, InitializedLength#155
Int32
157
SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155
Int32
158
GuardElementsArePacked ← Elements#154
159
LoadElement ← Elements#154, SpectreMaskIndex#157
Value
160
Call ← Phi#127, Constant#150, Phi#131, LoadElement#159, Phi#130, Phi#128
Value
161
Goto → block 20
Block 20 (backedge)
162
Phi ← Call#160, Phi#131
Value
163
Unbox Phi#130 to Int32 (fallible)
Int32
164
Constant 0x1
Int32
165
Add ← Unbox#163, Constant#164 [int32]
Int32
166
Goto → block 17
Block 21
167
Return ← Phi#131
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28560
String
29
Bail
171
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
170
Unreachable
Block 4
51
Constant 0x0
Int32
52
ArgumentsLength
Int32
53
Constant 0x1
Int32
54
Compare ← ArgumentsLength#52, Constant#53 Gt
Bool
55
Test ← Compare#54 → block 5, block 6
1
0
Block 5
56
Constant 0x1
Int32
57
GetFrameArgument ← Constant#56
Value
58
Goto → block 16
Block 6
59
Constant 0x0
Int32
60
Compare ← MinMax#18, Constant#59 StrictEq
Bool
61
Test ← Compare#60 → block 7, block 8
1
0
Block 7
62
CallGetIntrinsicValue
Value
63
DebugCheckSelfHosted ← CallGetIntrinsicValue#62
Value
64
Constant undefined
Undefined
65
Constant 0x34
Int32
66
Bail
169
Unreachable
Block 8
70
Constant false
Bool
81
Goto → block 9
Block 9
71
Phi ← Constant#2
Value
72
Phi ← Constant#2
Value
73
Phi ← Parameter#0
Value
74
Phi ← Parameter#1
Value
75
Phi ← Unbox#9
Value
76
Phi ← MinMax#18
Value
77
Phi ← Constant#51
Value
78
Phi ← Constant#2
Value
79
Phi ← Constant#70
Value
80
Phi ← Parameter#0
Value
82
InterruptCheck
83
Bail
168
Unreachable
Block 16
114
Phi ← Constant#2
Value
115
Phi ← Constant#2
Value
116
Phi ← Parameter#0
Value
117
Phi ← Parameter#1
Value
118
Phi ← Unbox#9
Value
119
Phi ← MinMax#18
Value
120
Phi ← Constant#51
Value
121
Phi ← GetFrameArgument#57
Value
122
Phi ← Constant#2
Value
123
Phi ← Parameter#0
Value
134
Goto → block 17
Block 17 (loop header)
124
Phi ← Phi#114, Phi#114
Value
125
Phi ← Phi#115, Phi#115
Value
126
Phi ← Phi#116, Phi#116
Value
127
Phi ← Phi#117, Phi#117
Value
128
Phi ← Phi#118, Phi#118
Value
129
Phi ← Phi#119, Phi#119
Value
130
Phi ← Phi#120, Add#165
Value
131
Phi ← Phi#121, Phi#162
Value
132
Phi ← Phi#122, Phi#122
Value
133
Phi ← Phi#123, Phi#123
Value
135
InterruptCheck
136
Unbox Phi#130 to Int32 (fallible)
Int32
137
Unbox Phi#129 to Int32 (fallible)
Int32
138
Compare ← Unbox#136, Unbox#137 Lt
Bool
139
Test ← Compare#138 → block 18, block 21
1
0
Block 18
140
Unbox Phi#128 to Object (fallible)
Object
141
Unbox Phi#130 to Int32 (fallible)
Int32
142
GuardShape ← Unbox#140
Object
143
Elements ← GuardShape#142
Elements
144
InitializedLength ← Elements#143
Int32
145
BoundsCheck ← Unbox#141, InitializedLength#144
Int32
146
SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144
Int32
147
GuardElementNotHole ← Elements#143, SpectreMaskIndex#146
148
Constant true
Bool
149
Test ← Constant#148 → block 19, block 20
1
0
Block 19
150
Constant undefined
Undefined
151
Unbox Phi#128 to Object (fallible)
Object
152
Unbox Phi#130 to Int32 (fallible)
Int32
153
GuardShape ← Unbox#151
Object
154
Elements ← GuardShape#153
Elements
155
InitializedLength ← Elements#154
Int32
156
BoundsCheck ← Unbox#152, InitializedLength#155
Int32
157
SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155
Int32
158
GuardElementsArePacked ← Elements#154
159
LoadElement ← Elements#154, SpectreMaskIndex#157
Value
160
Call ← Phi#127, Constant#150, Phi#131, LoadElement#159, Phi#130, Phi#128
Value
161
Goto → block 20
Block 20 (backedge)
162
Phi ← Call#160, Phi#131
Value
163
Unbox Phi#130 to Int32 (fallible)
Int32
164
Constant 0x1
Int32
165
Add ← Unbox#163, Constant#164 [int32]
Int32
166
Goto → block 17
Block 21
167
Return ← Phi#131
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28560
String
29
Bail
171
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
170
Unreachable
Block 4
51
Constant 0x0
Int32
52
ArgumentsLength
Int32
53
Constant 0x1
Int32
54
Compare ← ArgumentsLength#52, Constant#53 Gt
Bool
55
Test ← Compare#54 → block 5, block 6
1
0
Block 5
56
Constant 0x1
Int32
57
GetFrameArgument ← Constant#56
Value
58
Goto → block 16
Block 6
59
Constant 0x0
Int32
60
Compare ← MinMax#18, Constant#59 StrictEq
Bool
61
Test ← Compare#60 → block 7, block 8
1
0
Block 7
62
CallGetIntrinsicValue
Value
63
DebugCheckSelfHosted ← CallGetIntrinsicValue#62
Value
64
Constant undefined
Undefined
65
Constant 0x34
Int32
66
Bail
169
Unreachable
Block 8
70
Constant false
Bool
81
Goto → block 9
Block 9
71
Phi ← Constant#2
Value
72
Phi ← Constant#2
Value
73
Phi ← Parameter#0
Value
74
Phi ← Parameter#1
Value
75
Phi ← Unbox#9
Value
76
Phi ← MinMax#18
Value
77
Phi ← Constant#51
Value
78
Phi ← Constant#2
Value
79
Phi ← Constant#70
Value
80
Phi ← Parameter#0
Value
82
InterruptCheck
83
Bail
168
Unreachable
Block 16
114
Phi ← Constant#2
Value
115
Phi ← Constant#2
Value
116
Phi ← Parameter#0
Value
117
Phi ← Parameter#1
Value
118
Phi ← Unbox#9
Value
119
Phi ← MinMax#18
Value
120
Phi ← Constant#51
Value
121
Phi ← GetFrameArgument#57
Value
122
Phi ← Constant#2
Value
123
Phi ← Parameter#0
Value
134
Goto → block 17
Block 17 (loop header)
124
Phi ← Phi#114, Phi#114
Value
125
Phi ← Phi#115, Phi#115
Value
126
Phi ← Phi#116, Phi#116
Value
127
Phi ← Phi#117, Phi#117
Value
128
Phi ← Phi#118, Phi#118
Value
129
Phi ← Phi#119, Phi#119
Value
130
Phi ← Phi#120, Add#165
Value
131
Phi ← Phi#121, Phi#162
Value
132
Phi ← Phi#122, Phi#122
Value
133
Phi ← Phi#123, Phi#123
Value
135
InterruptCheck
136
Unbox Phi#130 to Int32 (fallible)
Int32
137
Unbox Phi#129 to Int32 (fallible)
Int32
138
Compare ← Unbox#136, Unbox#137 Lt
Bool
139
Test ← Compare#138 → block 18, block 21
1
0
Block 18
140
Unbox Phi#128 to Object (fallible)
Object
141
Unbox Phi#130 to Int32 (fallible)
Int32
142
GuardShape ← Unbox#140
Object
143
Elements ← GuardShape#142
Elements
144
InitializedLength ← Elements#143
Int32
145
BoundsCheck ← Unbox#141, InitializedLength#144
Int32
146
SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144
Int32
147
GuardElementNotHole ← Elements#143, SpectreMaskIndex#146
148
Constant true
Bool
149
Test ← Constant#148 → block 19, block 20
1
0
Block 19
150
Constant undefined
Undefined
151
Unbox Phi#128 to Object (fallible)
Object
152
Unbox Phi#130 to Int32 (fallible)
Int32
153
GuardShape ← Unbox#151
Object
154
Elements ← GuardShape#153
Elements
155
InitializedLength ← Elements#154
Int32
156
BoundsCheck ← Unbox#152, InitializedLength#155
Int32
157
SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155
Int32
158
GuardElementsArePacked ← Elements#154
159
LoadElement ← Elements#154, SpectreMaskIndex#157
Value
160
Call ← Phi#127, Constant#150, Phi#131, LoadElement#159, Phi#130, Phi#128
Value
161
Goto → block 20
Block 20 (backedge)
162
Phi ← Call#160, Phi#131
Value
163
Unbox Phi#130 to Int32 (fallible)
Int32
164
Constant 0x1
Int32
165
Add ← Unbox#163, Constant#164 [int32]
Int32
166
Goto → block 17
Block 21
167
Return ← Phi#131
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28560
String
29
Bail
171
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
170
Unreachable
Block 4
51
Constant 0x0
Int32
52
ArgumentsLength
Int32
53
Constant 0x1
Int32
54
Compare ← ArgumentsLength#52, Constant#53 Gt
Bool
55
Test ← Compare#54 → block 5, block 6
1
0
Block 5
56
Constant 0x1
Int32
57
GetFrameArgument ← Constant#56
Value
58
Goto → block 16
Block 6
59
Constant 0x0
Int32
60
Compare ← MinMax#18, Constant#59 StrictEq
Bool
61
Test ← Compare#60 → block 7, block 8
1
0
Block 7
62
CallGetIntrinsicValue
Value
63
DebugCheckSelfHosted ← CallGetIntrinsicValue#62
Value
64
Constant undefined
Undefined
65
Constant 0x34
Int32
66
Bail
169
Unreachable
Block 8
70
Constant false
Bool
81
Goto → block 9
Block 9
71
Phi ← Constant#2
Value
72
Phi ← Constant#2
Value
73
Phi ← Parameter#0
Value
74
Phi ← Parameter#1
Value
75
Phi ← Unbox#9
Value
76
Phi ← MinMax#18
Value
77
Phi ← Constant#51
Value
78
Phi ← Constant#2
Value
79
Phi ← Constant#70
Value
80
Phi ← Parameter#0
Value
82
InterruptCheck
83
Bail
168
Unreachable
Block 16
114
Phi ← Constant#2
Value
115
Phi ← Constant#2
Value
116
Phi ← Parameter#0
Value
117
Phi ← Parameter#1
Value
118
Phi ← Unbox#9
Value
119
Phi ← MinMax#18
Value
120
Phi ← Constant#51
Value
121
Phi ← GetFrameArgument#57
Value
122
Phi ← Constant#2
Value
123
Phi ← Parameter#0
Value
134
Goto → block 17
Block 17 (loop header)
124
Phi ← Phi#114, Phi#114
Value
125
Phi ← Phi#115, Phi#115
Value
126
Phi ← Phi#116, Phi#116
Value
127
Phi ← Phi#117, Phi#117
Value
128
Phi ← Phi#118, Phi#118
Value
129
Phi ← Phi#119, Phi#119
Value
130
Phi ← Phi#120, Add#165
Value
131
Phi ← Phi#121, Phi#162
Value
132
Phi ← Phi#122, Phi#122
Value
133
Phi ← Phi#123, Phi#123
Value
135
InterruptCheck
136
Unbox Phi#130 to Int32 (fallible)
Int32
137
Unbox Phi#129 to Int32 (fallible)
Int32
138
Compare ← Unbox#136, Unbox#137 Lt
Bool
139
Test ← Compare#138 → block 18, block 21
1
0
Block 18
140
Unbox Phi#128 to Object (fallible)
Object
141
Unbox Phi#130 to Int32 (fallible)
Int32
142
GuardShape ← Unbox#140
Object
143
Elements ← GuardShape#142
Elements
144
InitializedLength ← Elements#143
Int32
145
BoundsCheck ← Unbox#141, InitializedLength#144
Int32
146
SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144
Int32
147
GuardElementNotHole ← Elements#143, SpectreMaskIndex#146
148
Constant true
Bool
149
Test ← Constant#148 → block 19, block 20
1
0
Block 19
150
Constant undefined
Undefined
151
Unbox Phi#128 to Object (fallible)
Object
152
Unbox Phi#130 to Int32 (fallible)
Int32
153
GuardShape ← Unbox#151
Object
154
Elements ← GuardShape#153
Elements
155
InitializedLength ← Elements#154
Int32
156
BoundsCheck ← Unbox#152, InitializedLength#155
Int32
157
SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155
Int32
158
GuardElementsArePacked ← Elements#154
159
LoadElement ← Elements#154, SpectreMaskIndex#157
Value
160
Call ← Phi#127, Constant#150, Phi#131, LoadElement#159, Phi#130, Phi#128
Value
161
Goto → block 20
Block 20 (backedge)
162
Phi ← Call#160, Phi#131
Value
163
Unbox Phi#130 to Int32 (fallible)
Int32
164
Constant 0x1
Int32
165
Add ← Unbox#163, Constant#164 [int32]
Int32
166
Goto → block 17
Block 21
167
Return ← Phi#131
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28560
String
29
Bail
171
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
170
Unreachable
Block 4
51
Constant 0x0
Int32
52
ArgumentsLength
Int32
53
Constant 0x1
Int32
54
Compare ← ArgumentsLength#52, Constant#53 Gt
Bool
55
Test ← Compare#54 → block 5, block 6
1
0
Block 5
56
Constant 0x1
Int32
57
GetFrameArgument ← Constant#56
Value
58
Goto → block 16
Block 6
59
Constant 0x0
Int32
60
Compare ← MinMax#18, Constant#59 StrictEq
Bool
61
Test ← Compare#60 → block 7, block 8
1
0
Block 7
62
CallGetIntrinsicValue
Value
63
DebugCheckSelfHosted ← CallGetIntrinsicValue#62
Value
64
Constant undefined
Undefined
65
Constant 0x34
Int32
66
Bail
169
Unreachable
Block 8
70
Constant false
Bool
81
Goto → block 9
Block 9
71
Phi ← Constant#2
Value
72
Phi ← Constant#2
Value
73
Phi ← Parameter#0
Value
74
Phi ← Parameter#1
Value
75
Phi ← Unbox#9
Value
76
Phi ← MinMax#18
Value
77
Phi ← Constant#51
Value
78
Phi ← Constant#2
Value
79
Phi ← Constant#70
Value
80
Phi ← Parameter#0
Value
82
InterruptCheck
83
Bail
168
Unreachable
Block 16
114
Phi ← Constant#2
Value
115
Phi ← Constant#2
Value
116
Phi ← Parameter#0
Value
117
Phi ← Parameter#1
Value
118
Phi ← Unbox#9
Value
119
Phi ← MinMax#18
Value
120
Phi ← Constant#51
Value
121
Phi ← GetFrameArgument#57
Value
122
Phi ← Constant#2
Value
123
Phi ← Parameter#0
Value
134
Goto → block 17
Block 17 (loop header)
124
Phi ← Phi#114, Phi#114
Value
125
Phi ← Phi#115, Phi#115
Value
126
Phi ← Phi#116, Phi#116
Value
127
Phi ← Phi#117, Phi#117
Value
128
Phi ← Phi#118, Phi#118
Value
129
Phi ← Phi#119, Phi#119
Value
130
Phi ← Phi#120, Add#165
Value
131
Phi ← Phi#121, Phi#162
Value
132
Phi ← Phi#122, Phi#122
Value
133
Phi ← Phi#123, Phi#123
Value
135
InterruptCheck
136
Unbox Phi#130 to Int32 (fallible)
Int32
137
Unbox Phi#129 to Int32 (fallible)
Int32
138
Compare ← Unbox#136, Unbox#137 Lt
Bool
139
Test ← Compare#138 → block 18, block 21
1
0
Block 18
140
Unbox Phi#128 to Object (fallible)
Object
141
Unbox Phi#130 to Int32 (fallible)
Int32
142
GuardShape ← Unbox#140
Object
143
Elements ← GuardShape#142
Elements
144
InitializedLength ← Elements#143
Int32
145
BoundsCheck ← Unbox#141, InitializedLength#144
Int32
146
SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144
Int32
147
GuardElementNotHole ← Elements#143, SpectreMaskIndex#146
148
Constant true
Bool
149
Test ← Constant#148 → block 19, block 20
1
0
Block 19
150
Constant undefined
Undefined
151
Unbox Phi#128 to Object (fallible)
Object
152
Unbox Phi#130 to Int32 (fallible)
Int32
153
GuardShape ← Unbox#151
Object
154
Elements ← GuardShape#153
Elements
155
InitializedLength ← Elements#154
Int32
156
BoundsCheck ← Unbox#152, InitializedLength#155
Int32
157
SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155
Int32
158
GuardElementsArePacked ← Elements#154
159
LoadElement ← Elements#154, SpectreMaskIndex#157
Value
160
Call ← Phi#127, Constant#150, Phi#131, LoadElement#159, Phi#130, Phi#128
Value
161
Goto → block 20
Block 20 (backedge)
162
Phi ← Call#160, Phi#131
Value
163
Unbox Phi#130 to Int32 (fallible)
Int32
164
Constant 0x1
Int32
165
Add ← Unbox#163, Constant#164 [int32]
Int32
166
Goto → block 17
Block 21
167
Return ← Phi#131
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28560
String
29
Bail
171
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
170
Unreachable
Block 4
51
Constant 0x0
Int32
52
ArgumentsLength
Int32
53
Constant 0x1
Int32
54
Compare ← ArgumentsLength#52, Constant#53 Gt
Bool
55
Test ← Compare#54 → block 5, block 6
1
0
Block 5
56
Constant 0x1
Int32
57
GetFrameArgument ← Constant#56
Value
58
Goto → block 16
Block 6
59
Constant 0x0
Int32
60
Compare ← MinMax#18, Constant#59 StrictEq
Bool
61
Test ← Compare#60 → block 7, block 8
1
0
Block 7
62
CallGetIntrinsicValue
Value
63
DebugCheckSelfHosted ← CallGetIntrinsicValue#62
Value
64
Constant undefined
Undefined
65
Constant 0x34
Int32
66
Bail
169
Unreachable
Block 8
70
Constant false
Bool
81
Goto → block 9
Block 9
71
Phi ← Constant#2
Value
72
Phi ← Constant#2
Value
73
Phi ← Parameter#0
Value
74
Phi ← Parameter#1
Value
75
Phi ← Unbox#9
Value
76
Phi ← MinMax#18
Value
77
Phi ← Constant#51
Value
78
Phi ← Constant#2
Value
79
Phi ← Constant#70
Value
80
Phi ← Parameter#0
Value
82
InterruptCheck
83
Bail
168
Unreachable
Block 16
114
Phi ← Constant#2
Value
115
Phi ← Constant#2
Value
116
Phi ← Parameter#0
Value
117
Phi ← Parameter#1
Value
118
Phi ← Unbox#9
Value
119
Phi ← MinMax#18
Value
120
Phi ← Constant#51
Value
121
Phi ← GetFrameArgument#57
Value
122
Phi ← Constant#2
Value
123
Phi ← Parameter#0
Value
134
Goto → block 17
Block 17 (loop header)
124
Phi ← Phi#114, Phi#114
Value
125
Phi ← Phi#115, Phi#115
Value
126
Phi ← Phi#116, Phi#116
Value
127
Phi ← Phi#117, Phi#117
Value
128
Phi ← Phi#118, Phi#118
Value
129
Phi ← Phi#119, Phi#119
Value
130
Phi ← Phi#120, Add#165
Value
131
Phi ← Phi#121, Phi#162
Value
132
Phi ← Phi#122, Phi#122
Value
133
Phi ← Phi#123, Phi#123
Value
135
InterruptCheck
136
Unbox Phi#130 to Int32 (fallible)
Int32
137
Unbox Phi#129 to Int32 (fallible)
Int32
138
Compare ← Unbox#136, Unbox#137 Lt
Bool
139
Test ← Compare#138 → block 18, block 21
1
0
Block 18
140
Unbox Phi#128 to Object (fallible)
Object
141
Unbox Phi#130 to Int32 (fallible)
Int32
142
GuardShape ← Unbox#140
Object
143
Elements ← GuardShape#142
Elements
144
InitializedLength ← Elements#143
Int32
145
BoundsCheck ← Unbox#141, InitializedLength#144
Int32
146
SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144
Int32
147
GuardElementNotHole ← Elements#143, SpectreMaskIndex#146
148
Constant true
Bool
149
Test ← Constant#148 → block 19, block 22
1
0
Block 22 (split edge)
172
Goto → block 20
Block 19
150
Constant undefined
Undefined
151
Unbox Phi#128 to Object (fallible)
Object
152
Unbox Phi#130 to Int32 (fallible)
Int32
153
GuardShape ← Unbox#151
Object
154
Elements ← GuardShape#153
Elements
155
InitializedLength ← Elements#154
Int32
156
BoundsCheck ← Unbox#152, InitializedLength#155
Int32
157
SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155
Int32
158
GuardElementsArePacked ← Elements#154
159
LoadElement ← Elements#154, SpectreMaskIndex#157
Value
160
Call ← Phi#127, Constant#150, Phi#131, LoadElement#159, Phi#130, Phi#128
Value
161
Goto → block 20
Block 20 (backedge)
162
Phi ← Call#160, Phi#131
Value
163
Unbox Phi#130 to Int32 (fallible)
Int32
164
Constant 0x1
Int32
165
Add ← Unbox#163, Constant#164 [int32]
Int32
166
Goto → block 17
Block 21
167
Return ← Phi#131
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28560
String
29
Bail
171
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
170
Unreachable
Block 4
51
Constant 0x0
Int32
52
ArgumentsLength
Int32
53
Constant 0x1
Int32
54
Compare ← ArgumentsLength#52, Constant#53 Gt
Bool
55
Test ← Compare#54 → block 5, block 6
1
0
Block 5
56
Constant 0x1
Int32
57
GetFrameArgument ← Constant#56
Value
58
Goto → block 10
Block 6
59
Constant 0x0
Int32
60
Compare ← MinMax#18, Constant#59 StrictEq
Bool
61
Test ← Compare#60 → block 7, block 8
1
0
Block 7
62
CallGetIntrinsicValue
Value
63
DebugCheckSelfHosted ← CallGetIntrinsicValue#62
Value
64
Constant undefined
Undefined
65
Constant 0x34
Int32
66
Bail
169
Unreachable
Block 8
70
Constant false
Bool
81
Goto → block 9
Block 9
71
Phi ← Constant#2
Value
72
Phi ← Constant#2
Value
73
Phi ← Parameter#0
Value
74
Phi ← Parameter#1
Value
75
Phi ← Unbox#9
Value
76
Phi ← MinMax#18
Value
77
Phi ← Constant#51
Value
78
Phi ← Constant#2
Value
79
Phi ← Constant#70
Value
80
Phi ← Parameter#0
Value
82
InterruptCheck
83
Bail
168
Unreachable
Block 10
114
Phi ← Constant#2
Value
115
Phi ← Constant#2
Value
116
Phi ← Parameter#0
Value
117
Phi ← Parameter#1
Value
118
Phi ← Unbox#9
Value
119
Phi ← MinMax#18
Value
120
Phi ← Constant#51
Value
121
Phi ← GetFrameArgument#57
Value
122
Phi ← Constant#2
Value
123
Phi ← Parameter#0
Value
134
Goto → block 11
Block 11 (loop header)
124
Phi ← Phi#114, Phi#114
Value
125
Phi ← Phi#115, Phi#115
Value
126
Phi ← Phi#116, Phi#116
Value
127
Phi ← Phi#117, Phi#117
Value
128
Phi ← Phi#118, Phi#118
Value
129
Phi ← Phi#119, Phi#119
Value
130
Phi ← Phi#120, Add#165
Value
131
Phi ← Phi#121, Phi#162
Value
132
Phi ← Phi#122, Phi#122
Value
133
Phi ← Phi#123, Phi#123
Value
135
InterruptCheck
136
Unbox Phi#130 to Int32 (fallible)
Int32
137
Unbox Phi#129 to Int32 (fallible)
Int32
138
Compare ← Unbox#136, Unbox#137 Lt
Bool
139
Test ← Compare#138 → block 12, block 16
1
0
Block 12
140
Unbox Phi#128 to Object (fallible)
Object
141
Unbox Phi#130 to Int32 (fallible)
Int32
142
GuardShape ← Unbox#140
Object
143
Elements ← GuardShape#142
Elements
144
InitializedLength ← Elements#143
Int32
145
BoundsCheck ← Unbox#141, InitializedLength#144
Int32
146
SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144
Int32
147
GuardElementNotHole ← Elements#143, SpectreMaskIndex#146
148
Constant true
Bool
149
Test ← Constant#148 → block 14, block 13
1
0
Block 13 (split edge)
172
Goto → block 15
Block 14
150
Constant undefined
Undefined
151
Unbox Phi#128 to Object (fallible)
Object
152
Unbox Phi#130 to Int32 (fallible)
Int32
153
GuardShape ← Unbox#151
Object
154
Elements ← GuardShape#153
Elements
155
InitializedLength ← Elements#154
Int32
156
BoundsCheck ← Unbox#152, InitializedLength#155
Int32
157
SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155
Int32
158
GuardElementsArePacked ← Elements#154
159
LoadElement ← Elements#154, SpectreMaskIndex#157
Value
160
Call ← Phi#127, Constant#150, Phi#131, LoadElement#159, Phi#130, Phi#128
Value
161
Goto → block 15
Block 15 (backedge)
162
Phi ← Call#160, Phi#131
Value
163
Unbox Phi#130 to Int32 (fallible)
Int32
164
Constant 0x1
Int32
165
Add ← Unbox#163, Constant#164 [int32]
Int32
166
Goto → block 11
Block 16
167
Return ← Phi#131
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28560
String
29
Bail
171
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
170
Unreachable
Block 4
51
Constant 0x0
Int32
52
ArgumentsLength
Int32
53
Constant 0x1
Int32
54
Compare ← ArgumentsLength#52, Constant#53 Gt
Bool
55
Test ← Compare#54 → block 5, block 6
1
0
Block 5
56
Constant 0x1
Int32
57
GetFrameArgument ← Constant#56
Value
58
Goto → block 10
Block 6
59
Constant 0x0
Int32
60
Compare ← MinMax#18, Constant#59 StrictEq
Bool
61
Test ← Compare#60 → block 7, block 8
1
0
Block 7
62
CallGetIntrinsicValue
Value
63
DebugCheckSelfHosted ← CallGetIntrinsicValue#62
Value
64
Constant undefined
Undefined
65
Constant 0x34
Int32
66
Bail
169
Unreachable
Block 8
70
Constant false
Bool
81
Goto → block 9
Block 9
82
InterruptCheck
83
Bail
168
Unreachable
Block 10
134
Goto → block 11
Block 11 (loop header)
130
Phi ← Constant#51, Add#165
Value
131
Phi ← GetFrameArgument#57, Phi#162
Value
135
InterruptCheck
136
Unbox Phi#130 to Int32 (fallible)
Int32
137
Unbox MinMax#18 to Int32 (fallible)
Int32
138
Compare ← Unbox#136, Unbox#137 Lt
Bool
139
Test ← Compare#138 → block 12, block 16
1
0
Block 12
140
Unbox Unbox#9 to Object (fallible)
Object
141
Unbox Phi#130 to Int32 (fallible)
Int32
142
GuardShape ← Unbox#140
Object
143
Elements ← GuardShape#142
Elements
144
InitializedLength ← Elements#143
Int32
145
BoundsCheck ← Unbox#141, InitializedLength#144
Int32
146
SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144
Int32
147
GuardElementNotHole ← Elements#143, SpectreMaskIndex#146
148
Constant true
Bool
149
Test ← Constant#148 → block 14, block 13
1
0
Block 13 (split edge)
172
Goto → block 15
Block 14
150
Constant undefined
Undefined
151
Unbox Unbox#9 to Object (fallible)
Object
152
Unbox Phi#130 to Int32 (fallible)
Int32
153
GuardShape ← Unbox#151
Object
154
Elements ← GuardShape#153
Elements
155
InitializedLength ← Elements#154
Int32
156
BoundsCheck ← Unbox#152, InitializedLength#155
Int32
157
SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155
Int32
158
GuardElementsArePacked ← Elements#154
159
LoadElement ← Elements#154, SpectreMaskIndex#157
Value
160
Call ← Parameter#1, Constant#150, Phi#131, LoadElement#159, Phi#130, Unbox#9
Value
161
Goto → block 15
Block 15 (backedge)
162
Phi ← Call#160, Phi#131
Value
163
Unbox Phi#130 to Int32 (fallible)
Int32
164
Constant 0x1
Int32
165
Add ← Unbox#163, Constant#164 [int32]
Int32
166
Goto → block 11
Block 16
167
Return ← Phi#131
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28560
String
29
Bail
171
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
170
Unreachable
Block 4
51
Constant 0x0
Int32
52
ArgumentsLength
Int32
53
Constant 0x1
Int32
54
Compare ← ArgumentsLength#52, Constant#53 Gt
Bool
55
Test ← Compare#54 → block 5, block 6
1
0
Block 5
56
Constant 0x1
Int32
57
GetFrameArgument ← Constant#56
Value
58
Goto → block 10
Block 6
59
Constant 0x0
Int32
60
Compare ← MinMax#18, Constant#59 StrictEq
Bool
61
Test ← Compare#60 → block 7, block 8
1
0
Block 7
62
CallGetIntrinsicValue
Value
63
DebugCheckSelfHosted ← CallGetIntrinsicValue#62
Value
64
Constant undefined
Undefined
65
Constant 0x34
Int32
66
Bail
169
Unreachable
Block 8
70
Constant false
Bool
81
Goto → block 9
Block 9
82
InterruptCheck
83
Bail
168
Unreachable
Block 10
134
Goto → block 11
Block 11 (loop header)
130
Phi ← Constant#51, Add#165
Value
131
Phi ← GetFrameArgument#57, Phi#162
Value
135
InterruptCheck
136
Unbox Phi#130 to Int32 (fallible)
Int32
137
Unbox MinMax#18 to Int32 (fallible)
Int32
138
Compare ← Unbox#136, Unbox#137 Lt
Bool
139
Test ← Compare#138 → block 12, block 16
1
0
Block 12
140
Unbox Unbox#9 to Object (fallible)
Object
141
Unbox Phi#130 to Int32 (fallible)
Int32
142
GuardShape ← Unbox#140
Object
143
Elements ← GuardShape#142
Elements
144
InitializedLength ← Elements#143
Int32
145
BoundsCheck ← Unbox#141, InitializedLength#144
Int32
146
SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144
Int32
147
GuardElementNotHole ← Elements#143, SpectreMaskIndex#146
148
Constant true
Bool
149
Test ← Constant#148 → block 14, block 13
1
0
Block 13 (split edge)
172
Goto → block 15
Block 14
150
Constant undefined
Undefined
151
Unbox Unbox#9 to Object (fallible)
Object
152
Unbox Phi#130 to Int32 (fallible)
Int32
153
GuardShape ← Unbox#151
Object
154
Elements ← GuardShape#153
Elements
155
InitializedLength ← Elements#154
Int32
156
BoundsCheck ← Unbox#152, InitializedLength#155
Int32
157
SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155
Int32
158
GuardElementsArePacked ← Elements#154
159
LoadElement ← Elements#154, SpectreMaskIndex#157
Value
160
Call ← Parameter#1, Constant#150, Phi#131, LoadElement#159, Phi#130, Unbox#9
Value
161
Goto → block 15
Block 15 (backedge)
162
Phi ← Call#160, Phi#131
Value
163
Unbox Phi#130 to Int32 (fallible)
Int32
164
Constant 0x1
Int32
165
Add ← Unbox#163, Constant#164 [int32]
Int32
166
Goto → block 11
Block 16
167
Return ← Phi#131
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28560
String
29
Bail
171
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
170
Unreachable
Block 4
51
Constant 0x0
Int32
52
ArgumentsLength
Int32
53
Constant 0x1
Int32
54
Compare ← ArgumentsLength#52, Constant#53 Gt
Bool
55
Test ← Compare#54 → block 5, block 6
1
0
Block 5
56
Constant 0x1
Int32
57
GetFrameArgument ← Constant#56
Value
58
Goto → block 10
Block 6
59
Constant 0x0
Int32
60
Compare ← MinMax#18, Constant#59 StrictEq
Bool
61
Test ← Compare#60 → block 7, block 8
1
0
Block 7
62
CallGetIntrinsicValue
Value
63
DebugCheckSelfHosted ← CallGetIntrinsicValue#62
Value
64
Constant undefined
Undefined
65
Constant 0x34
Int32
66
Bail
169
Unreachable
Block 8
70
Constant false
Bool
81
Goto → block 9
Block 9
82
InterruptCheck
83
Bail
168
Unreachable
Block 10
134
Goto → block 11
Block 11 (loop header)
130
Phi ← Constant#51, Add#165
Value
131
Phi ← GetFrameArgument#57, Phi#162
Value
135
InterruptCheck
136
Unbox Phi#130 to Int32 (fallible)
Int32
137
Unbox MinMax#18 to Int32 (fallible)
Int32
138
Compare ← Unbox#136, Unbox#137 Lt
Bool
139
Test ← Compare#138 → block 12, block 16
1
0
Block 12
140
Unbox Unbox#9 to Object (fallible)
Object
141
Unbox Phi#130 to Int32 (fallible)
Int32
142
GuardShape ← Unbox#140
Object
143
Elements ← GuardShape#142
Elements
144
InitializedLength ← Elements#143
Int32
145
BoundsCheck ← Unbox#141, InitializedLength#144
Int32
146
SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144
Int32
147
GuardElementNotHole ← Elements#143, SpectreMaskIndex#146
148
Constant true
Bool
149
Test ← Constant#148 → block 14, block 13
1
0
Block 13 (split edge)
172
Goto → block 15
Block 14
150
Constant undefined
Undefined
151
Unbox Unbox#9 to Object (fallible)
Object
152
Unbox Phi#130 to Int32 (fallible)
Int32
153
GuardShape ← Unbox#151
Object
154
Elements ← GuardShape#153
Elements
155
InitializedLength ← Elements#154
Int32
156
BoundsCheck ← Unbox#152, InitializedLength#155
Int32
157
SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155
Int32
158
GuardElementsArePacked ← Elements#154
159
LoadElement ← Elements#154, SpectreMaskIndex#157
Value
160
Call ← Parameter#1, Constant#150, Phi#131, LoadElement#159, Phi#130, Unbox#9
Value
161
Goto → block 15
Block 15 (backedge)
162
Phi ← Call#160, Phi#131
Value
163
Unbox Phi#130 to Int32 (fallible)
Int32
164
Constant 0x1
Int32
165
Add ← Unbox#163, Constant#164 [int32]
Int32
166
Goto → block 11
Block 16
167
Return ← Phi#131
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28560
String
29
Bail
171
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
170
Unreachable
Block 4
51
Constant 0x0
Int32
52
ArgumentsLength
Int32
53
Constant 0x1
Int32
54
Compare ← ArgumentsLength#52, Constant#53 Gt
Bool
55
Test ← Compare#54 → block 5, block 6
1
0
Block 5
56
Constant 0x1
Int32
57
GetFrameArgument ← Constant#56
Value
58
Goto → block 10
Block 6
59
Constant 0x0
Int32
60
Compare ← MinMax#18, Constant#59 StrictEq
Bool
61
Test ← Compare#60 → block 7, block 8
1
0
Block 7
62
CallGetIntrinsicValue
Value
63
DebugCheckSelfHosted ← CallGetIntrinsicValue#62
Value
64
Constant undefined
Undefined
65
Constant 0x34
Int32
66
Bail
169
Unreachable
Block 8
70
Constant false
Bool
81
Goto → block 9
Block 9
82
InterruptCheck
83
Bail
168
Unreachable
Block 10
134
Goto → block 11
Block 11 (loop header)
130
Phi ← Constant#51, Add#165
Value
131
Phi ← GetFrameArgument#57, Phi#162
Value
135
InterruptCheck
136
Unbox Phi#130 to Int32 (fallible)
Int32
137
Unbox MinMax#18 to Int32 (fallible)
Int32
138
Compare ← Unbox#136, Unbox#137 Lt
Bool
139
Test ← Compare#138 → block 12, block 16
1
0
Block 12
140
Unbox Unbox#9 to Object (fallible)
Object
141
Unbox Phi#130 to Int32 (fallible)
Int32
142
GuardShape ← Unbox#140
Object
143
Elements ← GuardShape#142
Elements
144
InitializedLength ← Elements#143
Int32
145
BoundsCheck ← Unbox#141, InitializedLength#144
Int32
146
SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144
Int32
147
GuardElementNotHole ← Elements#143, SpectreMaskIndex#146
148
Constant true
Bool
149
Test ← Constant#148 → block 14, block 13
1
0
Block 13 (split edge)
172
Goto → block 15
Block 14
150
Constant undefined
Undefined
151
Unbox Unbox#9 to Object (fallible)
Object
152
Unbox Phi#130 to Int32 (fallible)
Int32
153
GuardShape ← Unbox#151
Object
154
Elements ← GuardShape#153
Elements
155
InitializedLength ← Elements#154
Int32
156
BoundsCheck ← Unbox#152, InitializedLength#155
Int32
157
SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155
Int32
158
GuardElementsArePacked ← Elements#154
159
LoadElement ← Elements#154, SpectreMaskIndex#157
Value
160
Call ← Parameter#1, Constant#150, Phi#131, LoadElement#159, Phi#130, Unbox#9
Value
161
Goto → block 15
Block 15 (backedge)
162
Phi ← Call#160, Phi#131
Value
163
Unbox Phi#130 to Int32 (fallible)
Int32
164
Constant 0x1
Int32
165
Add ← Unbox#163, Constant#164 [int32]
Int32
166
Goto → block 11
Block 16
167
Return ← Phi#131
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
173
Box ← Constant#5
Value
6
DebugCheckSelfHosted ← Box#173
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
174
Box ← Constant#10
Value
11
DebugCheckSelfHosted ← Box#174
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28560
String
29
Bail
171
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
175
Box ← Constant#32
Value
33
DebugCheckSelfHosted ← Box#175
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
170
Unreachable
Block 4
51
Constant 0x0
Int32
52
ArgumentsLength
Int32
53
Constant 0x1
Int32
54
Compare ← ArgumentsLength#52, Constant#53 Gt
Bool
55
Test ← Compare#54 → block 5, block 6
1
0
Block 5
56
Constant 0x1
Int32
57
GetFrameArgument ← Constant#56
Value
58
Goto → block 10
Block 6
59
Constant 0x0
Int32
60
Compare ← MinMax#18, Constant#59 StrictEq
Bool
61
Test ← Compare#60 → block 7, block 8
1
0
Block 7
62
CallGetIntrinsicValue
Value
63
DebugCheckSelfHosted ← CallGetIntrinsicValue#62
Value
64
Constant undefined
Undefined
65
Constant 0x34
Int32
66
Bail
169
Unreachable
Block 8
70
Constant false
Bool
81
Goto → block 9
Block 9
82
InterruptCheck
83
Bail
168
Unreachable
Block 10
134
Goto → block 11
Block 11 (loop header)
130
Phi ← Constant#51, Add#165
Int32
131
Phi ← GetFrameArgument#57, Phi#162
Value
135
InterruptCheck
176
Box ← Phi#130
Value
136
Unbox Box#176 to Int32 (fallible)
Int32
177
Box ← MinMax#18
Value
137
Unbox Box#177 to Int32 (fallible)
Int32
138
Compare ← Unbox#136, Unbox#137 Lt
Bool
139
Test ← Compare#138 → block 12, block 16
1
0
Block 12
178
Box ← Unbox#9
Value
140
Unbox Box#178 to Object (fallible)
Object
179
Box ← Phi#130
Value
141
Unbox Box#179 to Int32 (fallible)
Int32
142
GuardShape ← Unbox#140
Object
143
Elements ← GuardShape#142
Elements
144
InitializedLength ← Elements#143
Int32
145
BoundsCheck ← Unbox#141, InitializedLength#144
Int32
146
SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144
Int32
147
GuardElementNotHole ← Elements#143, SpectreMaskIndex#146
148
Constant true
Bool
149
Test ← Constant#148 → block 14, block 13
1
0
Block 13 (split edge)
172
Goto → block 15
Block 14
150
Constant undefined
Undefined
180
Box ← Unbox#9
Value
151
Unbox Box#180 to Object (fallible)
Object
181
Box ← Phi#130
Value
152
Unbox Box#181 to Int32 (fallible)
Int32
153
GuardShape ← Unbox#151
Object
154
Elements ← GuardShape#153
Elements
155
InitializedLength ← Elements#154
Int32
156
BoundsCheck ← Unbox#152, InitializedLength#155
Int32
157
SpectreMaskIndex ← BoundsCheck#156, InitializedLength#155
Int32
158
GuardElementsArePacked ← Elements#154
159
LoadElement ← Elements#154, SpectreMaskIndex#157
Value
182
Unbox Parameter#1 to Object (fallible)
Object
160
Call ← Unbox#182, Constant#150, Phi#131, LoadElement#159, Phi#130, Unbox#9
Value
161
Goto → block 15
Block 15 (backedge)
162
Phi ← Call#160, Phi#131
Value
183
Box ← Phi#130
Value
163
Unbox Box#183 to Int32 (fallible)
Int32
164
Constant 0x1
Int32
165
Add ← Unbox#163, Constant#164 [int32]
Int32
166
Goto → block 11
Block 16
167
Return ← Phi#131
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Constant undefined
Undefined
9
Constant 0x1
Int32
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
14
Constant undefined
Undefined
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
Int32
18
Constant 0x1
Int32
19
Constant 0x0
Int32
20
MinMax ← ArrayLength#17, Constant#19 (max)
Int32
21
ArgumentsLength
Int32
22
Constant 0x0
Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
27
Constant undefined
Undefined
28
Constant 0x37
Int32
29
Constant 0x0
Int32
30
Constant string 104289c28560
String
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
36
Constant undefined
Undefined
37
Constant 0x1
Int32
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
42
Constant undefined
Undefined
43
Constant 0xc
Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
46
Constant undefined
Undefined
47
Constant 0x0
Int32
48
Bail
49
Unreachable
Block 4
50
Constant 0x0
Int32
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 10
Block 6
58
Constant 0x0
Int32
59
Compare ← MinMax#20, Constant#58 StrictEq
Bool
60
Test ← Compare#59 → block 7, block 8
1
0
Block 7
61
CallGetIntrinsicValue
Value
62
DebugCheckSelfHosted ← CallGetIntrinsicValue#61
Value
63
Constant undefined
Undefined
64
Constant 0x34
Int32
65
Bail
66
Unreachable
Block 8
67
Constant false
Bool
68
Goto → block 9
Block 9
69
InterruptCheck
70
Bail
71
Unreachable
Block 10
72
Goto → block 11
Block 11 (loop header)
73
Phi ← Constant#50, Add#114
Int32
74
Phi ← GetFrameArgument#56, Phi#110
Value
75
InterruptCheck
76
Box ← Phi#73
Value
77
Unbox Box#76 to Int32 (fallible)
Int32
78
Box ← MinMax#20
Value
79
Unbox Box#78 to Int32 (fallible)
Int32
80
Compare ← Unbox#77, Unbox#79 Lt
Bool
81
Test ← Compare#80 → block 12, block 16
1
0
Block 12
82
Box ← Unbox#10
Value
83
Unbox Box#82 to Object (fallible)
Object
84
Box ← Phi#73
Value
85
Unbox Box#84 to Int32 (fallible)
Int32
86
GuardShape ← Unbox#83
Object
87
Elements ← GuardShape#86
Elements
88
InitializedLength ← Elements#87
Int32
89
BoundsCheck ← Unbox#85, InitializedLength#88
Int32
90
SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88
Int32
91
GuardElementNotHole ← Elements#87, SpectreMaskIndex#90
92
Constant true
Bool
93
Test ← Constant#92 → block 14, block 13
1
0
Block 13 (split edge)
94
Goto → block 15
Block 14
95
Constant undefined
Undefined
96
Box ← Unbox#10
Value
97
Unbox Box#96 to Object (fallible)
Object
98
Box ← Phi#73
Value
99
Unbox Box#98 to Int32 (fallible)
Int32
100
GuardShape ← Unbox#97
Object
101
Elements ← GuardShape#100
Elements
102
InitializedLength ← Elements#101
Int32
103
BoundsCheck ← Unbox#99, InitializedLength#102
Int32
104
SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102
Int32
105
GuardElementsArePacked ← Elements#101
106
LoadElement ← Elements#101, SpectreMaskIndex#104
Value
107
Unbox Parameter#1 to Object (fallible)
Object
108
Call ← Unbox#107, Constant#95, Phi#74, LoadElement#106, Phi#73, Unbox#10
Value
109
Goto → block 15
Block 15 (backedge)
110
Phi ← Call#108, Phi#74
Value
111
Box ← Phi#73
Value
112
Unbox Box#111 to Int32 (fallible)
Int32
113
Constant 0x1
Int32
114
Add ← Unbox#112, Constant#113 [int32]
Int32
115
Goto → block 11
Block 16
116
Return ← Phi#74
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Constant undefined
Undefined
9
Constant 0x1
Int32
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
14
Constant undefined
Undefined
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
Int32
18
Constant 0x1
Int32
19
Constant 0x0
Int32
20
MinMax ← ArrayLength#17, Constant#19 (max)
Int32
21
ArgumentsLength
Int32
22
Constant 0x0
Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
27
Constant undefined
Undefined
28
Constant 0x37
Int32
29
Constant 0x0
Int32
30
Constant string 104289c28560
String
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
36
Constant undefined
Undefined
37
Constant 0x1
Int32
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
42
Constant undefined
Undefined
43
Constant 0xc
Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
46
Constant undefined
Undefined
47
Constant 0x0
Int32
48
Bail
49
Unreachable
Block 4
50
Constant 0x0
Int32
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 10
Block 6
58
Constant 0x0
Int32
59
Compare ← MinMax#20, Constant#58 StrictEq
Bool
60
Test ← Compare#59 → block 7, block 8
1
0
Block 7
61
CallGetIntrinsicValue
Value
62
DebugCheckSelfHosted ← CallGetIntrinsicValue#61
Value
63
Constant undefined
Undefined
64
Constant 0x34
Int32
65
Bail
66
Unreachable
Block 8
67
Constant false
Bool
68
Goto → block 9
Block 9
69
InterruptCheck
70
Bail
71
Unreachable
Block 10
72
Goto → block 11
Block 11 (loop header)
73
Phi ← Constant#50, Add#114
Int32
74
Phi ← GetFrameArgument#56, Phi#110
Value
75
InterruptCheck
76
Box ← Phi#73
Value
77
Unbox Box#76 to Int32 (fallible)
Int32
78
Box ← MinMax#20
Value
79
Unbox Box#78 to Int32 (fallible)
Int32
80
Compare ← Unbox#77, Unbox#79 Lt
Bool
81
Test ← Compare#80 → block 12, block 16
1
0
Block 12
82
Box ← Unbox#10
Value
83
Unbox Box#82 to Object (fallible)
Object
84
Box ← Phi#73
Value
85
Unbox Box#84 to Int32 (fallible)
Int32
86
GuardShape ← Unbox#83
Object
87
Elements ← GuardShape#86
Elements
88
InitializedLength ← Elements#87
Int32
89
BoundsCheck ← Unbox#85, InitializedLength#88
Int32
90
SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88
Int32
91
GuardElementNotHole ← Elements#87, SpectreMaskIndex#90
92
Constant true
Bool
93
Test ← Constant#92 → block 14, block 13
1
0
Block 13 (split edge)
94
Goto → block 15
Block 14
95
Constant undefined
Undefined
96
Box ← Unbox#10
Value
97
Unbox Box#96 to Object (fallible)
Object
98
Box ← Phi#73
Value
99
Unbox Box#98 to Int32 (fallible)
Int32
100
GuardShape ← Unbox#97
Object
101
Elements ← GuardShape#100
Elements
102
InitializedLength ← Elements#101
Int32
103
BoundsCheck ← Unbox#99, InitializedLength#102
Int32
104
SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102
Int32
105
GuardElementsArePacked ← Elements#101
106
LoadElement ← Elements#101, SpectreMaskIndex#104
Value
107
Unbox Parameter#1 to Object (fallible)
Object
108
Call ← Unbox#107, Constant#95, Phi#74, LoadElement#106, Phi#73, Unbox#10
Value
109
Goto → block 15
Block 15 (backedge)
110
Phi ← Call#108, Phi#74
Value
111
Box ← Phi#73
Value
112
Unbox Box#111 to Int32 (fallible)
Int32
113
Constant 0x1
Int32
114
Add ← Unbox#112, Constant#113 [int32]
Int32
115
Goto → block 11
Block 16
116
Return ← Phi#74
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
Int32
21
ArgumentsLength
Int32
22
Constant 0x0
Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#21, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
56
GetFrameArgument ← Constant#52
Value
57
Goto → block 10
Block 6
59
Compare ← ArrayLength#17, Constant#22 StrictEq
Bool
60
Test ← Compare#59 → block 7, block 8
1
0
Block 7
61
CallGetIntrinsicValue
Value
62
DebugCheckSelfHosted ← CallGetIntrinsicValue#61
Value
65
Bail
66
Unreachable
Block 8
67
Constant false
Bool
68
Goto → block 9
Block 9
69
InterruptCheck
70
Bail
71
Unreachable
Block 10
72
Goto → block 11
Block 11 (loop header)
73
Phi ← Constant#22, Add#114
Int32
74
Phi ← GetFrameArgument#56, Call#108
Value
75
InterruptCheck
80
Compare ← Phi#73, ArrayLength#17 Lt
Bool
81
Test ← Compare#80 → block 12, block 15
1
0
Block 12
86
GuardShape ← Unbox#10
Object
87
Elements ← GuardShape#86
Elements
88
InitializedLength ← Elements#87
Int32
89
BoundsCheck ← Phi#73, InitializedLength#88
Int32
90
SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88
Int32
91
GuardElementNotHole ← Elements#87, SpectreMaskIndex#90
184
Goto → block 13
Block 13
105
GuardElementsArePacked ← Elements#87
106
LoadElement ← Elements#87, SpectreMaskIndex#90
Value
107
Unbox Parameter#1 to Object (fallible)
Object
108
Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10
Value
109
Goto → block 14
Block 14 (backedge)
114
Add ← Phi#73, Constant#52 [int32]
Int32
115
Goto → block 11
Block 15
116
Return ← Phi#74
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
Int32
21
ArgumentsLength
Int32
22
Constant 0x0
Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#21, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
56
GetFrameArgument ← Constant#52
Value
57
Goto → block 10
Block 6
59
Compare ← ArrayLength#17, Constant#22 StrictEq
Bool
60
Test ← Compare#59 → block 7, block 8
1
0
Block 7
61
CallGetIntrinsicValue
Value
62
DebugCheckSelfHosted ← CallGetIntrinsicValue#61
Value
65
Bail
66
Unreachable
Block 8
67
Constant false
Bool
68
Goto → block 9
Block 9
69
InterruptCheck
70
Bail
71
Unreachable
Block 10
107
Unbox Parameter#1 to Object (fallible)
Object
72
Goto → block 11
Block 11 (loop header)
73
Phi ← Constant#22, Add#114
Int32
74
Phi ← GetFrameArgument#56, Call#108
Value
75
InterruptCheck
80
Compare ← Phi#73, ArrayLength#17 Lt
Bool
81
Test ← Compare#80 → block 12, block 15
1
0
Block 12
86
GuardShape ← Unbox#10
Object
87
Elements ← GuardShape#86
Elements
88
InitializedLength ← Elements#87
Int32
89
BoundsCheck ← Phi#73, InitializedLength#88
Int32
90
SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88
Int32
91
GuardElementNotHole ← Elements#87, SpectreMaskIndex#90
184
Goto → block 13
Block 13
105
GuardElementsArePacked ← Elements#87
106
LoadElement ← Elements#87, SpectreMaskIndex#90
Value
108
Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10
Value
109
Goto → block 14
Block 14 (backedge)
114
Add ← Phi#73, Constant#52 [int32]
Int32
115
Goto → block 11
Block 15
116
Return ← Phi#74
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
Int32
21
ArgumentsLength
Int32
22
Constant 0x0
Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
192
Beta ← ArgumentsLength#21 I[0, 0]
Int32
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
191
Beta ← ArgumentsLength#21 F[?, ?] (U NaN U -Infinity U Infinity)
Int32
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
52
Constant 0x1
Int32
53
Compare ← Beta#191, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
190
Beta ← Beta#191 F[2, ?] (U Infinity)
Int32
56
GetFrameArgument ← Constant#52
Value
57
Goto → block 10
Block 6
189
Beta ← Beta#191 F[?, 1] (U NaN U -Infinity U -0)
Int32
59
Compare ← ArrayLength#17, Constant#22 StrictEq
Bool
60
Test ← Compare#59 → block 7, block 8
1
0
Block 7
188
Beta ← ArrayLength#17 I[0, 0]
Int32
61
CallGetIntrinsicValue
Value
62
DebugCheckSelfHosted ← CallGetIntrinsicValue#61
Value
65
Bail
66
Unreachable
Block 8
187
Beta ← ArrayLength#17 F[?, ?] (U NaN U -Infinity U Infinity)
Int32
67
Constant false
Bool
68
Goto → block 9
Block 9
69
InterruptCheck
70
Bail
71
Unreachable
Block 10
107
Unbox Parameter#1 to Object (fallible)
Object
72
Goto → block 11
Block 11 (loop header)
73
Phi ← Constant#22, Add#114
Int32
74
Phi ← GetFrameArgument#56, Call#108
Value
75
InterruptCheck
80
Compare ← Phi#73, ArrayLength#17 Lt
Bool
81
Test ← Compare#80 → block 12, block 15
1
0
Block 12
186
Beta ← ArrayLength#17 I[-2147483647, 2147483647]
Int32
185
Beta ← Phi#73 I[-2147483648, 2147483646]
Int32
86
GuardShape ← Unbox#10
Object
87
Elements ← GuardShape#86
Elements
88
InitializedLength ← Elements#87
Int32
89
BoundsCheck ← Beta#185, InitializedLength#88
Int32
90
SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88
Int32
91
GuardElementNotHole ← Elements#87, SpectreMaskIndex#90
184
Goto → block 13
Block 13
105
GuardElementsArePacked ← Elements#87
106
LoadElement ← Elements#87, SpectreMaskIndex#90
Value
108
Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Beta#185, Unbox#10
Value
109
Goto → block 14
Block 14 (backedge)
114
Add ← Beta#185, Constant#52 [int32]
Int32
115
Goto → block 11
Block 15
116
Return ← Phi#74
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
192
Beta ← ArgumentsLength#21 I[0, 0]
I[0, 0]: Int32
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
191
Beta ← ArgumentsLength#21 F[?, ?] (U NaN U -Infinity U Infinity)
I[0, 500000]: Int32
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
52
Constant 0x1
I[1, 1]: Int32
53
Compare ← Beta#191, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
190
Beta ← Beta#191 F[2, ?] (U Infinity)
I[2, 500000]: Int32
56
GetFrameArgument ← Constant#52
Value
57
Goto → block 10
Block 6
189
Beta ← Beta#191 F[?, 1] (U NaN U -Infinity U -0)
I[0, 1] (U -0): Int32
59
Compare ← ArrayLength#17, Constant#22 StrictEq
Bool
60
Test ← Compare#59 → block 7, block 8
1
0
Block 7
188
Beta ← ArrayLength#17 I[0, 0]
I[0, 0]: Int32
61
CallGetIntrinsicValue
Value
62
DebugCheckSelfHosted ← CallGetIntrinsicValue#61
Value
65
Bail
66
Unreachable
Block 8
187
Beta ← ArrayLength#17 F[?, ?] (U NaN U -Infinity U Infinity)
I[0, 2147483647]: Int32
67
Constant false
I[0, 0]: Bool
68
Goto → block 9
Block 9
69
InterruptCheck
70
Bail
71
Unreachable
Block 10
107
Unbox Parameter#1 to Object (fallible)
Object
72
Goto → block 11
Block 11 (loop header)
73
Phi ← Constant#22, Add#114
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
74
Phi ← GetFrameArgument#56, Call#108
Value
75
InterruptCheck
80
Compare ← Phi#73, ArrayLength#17 Lt
Bool
81
Test ← Compare#80 → block 12, block 15
1
0
Block 12
186
Beta ← ArrayLength#17 I[-2147483647, 2147483647]
I[0, 2147483647]: Int32
185
Beta ← Phi#73 I[-2147483648, 2147483646]
I[0, 2147483646]: Int32
86
GuardShape ← Unbox#10
Object
87
Elements ← GuardShape#86
Elements
88
InitializedLength ← Elements#87
I[0, 268435453]: Int32
89
BoundsCheck ← Beta#185, InitializedLength#88
I[0, 2147483646]: Int32
90
SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88
I[0, 2147483646]: Int32
91
GuardElementNotHole ← Elements#87, SpectreMaskIndex#90
184
Goto → block 13
Block 13
105
GuardElementsArePacked ← Elements#87
106
LoadElement ← Elements#87, SpectreMaskIndex#90
Value
108
Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Beta#185, Unbox#10
Value
109
Goto → block 14
Block 14 (backedge)
114
Add ← Beta#185, Constant#52 [int32]
I[1, 2147483647]: Int32
115
Goto → block 11
Block 15
116
Return ← Phi#74
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
52
Constant 0x1
I[1, 1]: Int32
53
Compare ← ArgumentsLength#21, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
56
GetFrameArgument ← Constant#52
Value
57
Goto → block 10
Block 6
59
Compare ← ArrayLength#17, Constant#22 StrictEq
Bool
60
Test ← Compare#59 → block 7, block 8
1
0
Block 7
61
CallGetIntrinsicValue
Value
62
DebugCheckSelfHosted ← CallGetIntrinsicValue#61
Value
65
Bail
66
Unreachable
Block 8
67
Constant false
I[0, 0]: Bool
68
Goto → block 9
Block 9
69
InterruptCheck
70
Bail
71
Unreachable
Block 10
107
Unbox Parameter#1 to Object (fallible)
Object
72
Goto → block 11
Block 11 (loop header)
73
Phi ← Constant#22, Add#114
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
74
Phi ← GetFrameArgument#56, Call#108
Value
75
InterruptCheck
80
Compare ← Phi#73, ArrayLength#17 Lt
Bool
81
Test ← Compare#80 → block 12, block 15
1
0
Block 12
86
GuardShape ← Unbox#10
Object
87
Elements ← GuardShape#86
Elements
88
InitializedLength ← Elements#87
I[0, 268435453]: Int32
89
BoundsCheck ← Phi#73, InitializedLength#88
I[0, 2147483646]: Int32
90
SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88
I[0, 2147483646]: Int32
91
GuardElementNotHole ← Elements#87, SpectreMaskIndex#90
184
Goto → block 13
Block 13
105
GuardElementsArePacked ← Elements#87
106
LoadElement ← Elements#87, SpectreMaskIndex#90
Value
108
Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10
Value
109
Goto → block 14
Block 14 (backedge)
114
Add ← Phi#73, Constant#52 [int32]
I[1, 2147483647]: Int32
115
Goto → block 11
Block 15
116
Return ← Phi#74
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
52
Constant 0x1
I[1, 1]: Int32
53
Compare ← ArgumentsLength#21, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
56
GetFrameArgument ← Constant#52
Value
57
Goto → block 10
Block 6
59
Compare ← ArrayLength#17, Constant#22 StrictEq
Bool
60
Test ← Compare#59 → block 7, block 8
1
0
Block 7
61
CallGetIntrinsicValue
Value
62
DebugCheckSelfHosted ← CallGetIntrinsicValue#61
Value
65
Bail
66
Unreachable
Block 8
67
Constant false
I[0, 0]: Bool
68
Goto → block 9
Block 9
69
InterruptCheck
70
Bail
71
Unreachable
Block 10
107
Unbox Parameter#1 to Object (fallible)
Object
72
Goto → block 11
Block 11 (loop header)
73
Phi ← Constant#22, Add#114
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
74
Phi ← GetFrameArgument#56, Call#108
Value
75
InterruptCheck
80
Compare ← Phi#73, ArrayLength#17 Lt
Bool
81
Test ← Compare#80 → block 12, block 15
1
0
Block 12
86
GuardShape ← Unbox#10
Object
87
Elements ← GuardShape#86
Elements
88
InitializedLength ← Elements#87
I[0, 268435453]: Int32
89
BoundsCheck ← Phi#73, InitializedLength#88
I[0, 2147483646]: Int32
90
SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88
I[0, 2147483646]: Int32
91
GuardElementNotHole ← Elements#87, SpectreMaskIndex#90
184
Goto → block 13
Block 13
105
GuardElementsArePacked ← Elements#87
106
LoadElement ← Elements#87, SpectreMaskIndex#90
Value
108
Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10
Value
109
Goto → block 14
Block 14 (backedge)
114
Add ← Phi#73, Constant#52 [int32]
I[1, 2147483647]: Int32
115
Goto → block 11
Block 15
116
Return ← Phi#74
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
52
Constant 0x1
I[1, 1]: Int32
53
Compare ← ArgumentsLength#21, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
56
GetFrameArgument ← Constant#52
Value
57
Goto → block 10
Block 6
59
Compare ← ArrayLength#17, Constant#22 StrictEq
Bool
60
Test ← Compare#59 → block 7, block 8
1
0
Block 7
61
CallGetIntrinsicValue
Value
62
DebugCheckSelfHosted ← CallGetIntrinsicValue#61
Value
65
Bail
66
Unreachable
Block 8
67
Constant false
I[0, 0]: Bool
68
Goto → block 9
Block 9
69
InterruptCheck
70
Bail
71
Unreachable
Block 10
107
Unbox Parameter#1 to Object (fallible)
Object
72
Goto → block 11
Block 11 (loop header)
73
Phi ← Constant#22, Add#114
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
74
Phi ← GetFrameArgument#56, Call#108
Value
75
InterruptCheck
80
Compare ← Phi#73, ArrayLength#17 Lt
Bool
81
Test ← Compare#80 → block 12, block 15
1
0
Block 12
86
GuardShape ← Unbox#10
Object
87
Elements ← GuardShape#86
Elements
88
InitializedLength ← Elements#87
I[0, 268435453]: Int32
89
BoundsCheck ← Phi#73, InitializedLength#88
I[0, 2147483646]: Int32
90
SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88
I[0, 2147483646]: Int32
91
GuardElementNotHole ← Elements#87, SpectreMaskIndex#90
184
Goto → block 13
Block 13
105
GuardElementsArePacked ← Elements#87
106
LoadElement ← Elements#87, SpectreMaskIndex#90
Value
108
Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10
Value
109
Goto → block 14
Block 14 (backedge)
114
Add ← Phi#73, Constant#52 [int32]
I[1, 2147483647]: Int32
115
Goto → block 11
Block 15
116
Return ← Phi#74
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
52
Constant 0x1
I[1, 1]: Int32
53
Compare ← ArgumentsLength#21, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
56
GetFrameArgument ← Constant#52
Value
57
Goto → block 10
Block 6
59
Compare ← ArrayLength#17, Constant#22 StrictEq
Bool
60
Test ← Compare#59 → block 7, block 8
1
0
Block 7
61
CallGetIntrinsicValue
Value
62
DebugCheckSelfHosted ← CallGetIntrinsicValue#61
Value
65
Bail
66
Unreachable
Block 8
67
Constant false
I[0, 0]: Bool
68
Goto → block 9
Block 9
69
InterruptCheck
70
Bail
71
Unreachable
Block 10
107
Unbox Parameter#1 to Object (fallible)
Object
72
Goto → block 11
Block 11 (loop header)
73
Phi ← Constant#22, Add#114
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
74
Phi ← GetFrameArgument#56, Call#108
Value
75
InterruptCheck
80
Compare ← Phi#73, ArrayLength#17 Lt
Bool
81
Test ← Compare#80 → block 12, block 15
1
0
Block 12
86
GuardShape ← Unbox#10
Object
87
Elements ← GuardShape#86
Elements
88
InitializedLength ← Elements#87
I[0, 268435453]: Int32
89
BoundsCheck ← Phi#73, InitializedLength#88
I[0, 2147483646]: Int32
90
SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88
I[0, 2147483646]: Int32
91
GuardElementNotHole ← Elements#87, SpectreMaskIndex#90
184
Goto → block 13
Block 13
105
GuardElementsArePacked ← Elements#87
106
LoadElement ← Elements#87, SpectreMaskIndex#90
Value
108
Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10
Value
109
Goto → block 14
Block 14 (backedge)
114
Add ← Phi#73, Constant#52 [int32]
I[1, 2147483647]: Int32
115
Goto → block 11
Block 15
116
Return ← Phi#74
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
52
Constant 0x1
I[1, 1]: Int32
53
Compare ← ArgumentsLength#21, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
56
GetFrameArgument ← Constant#52
Value
57
Goto → block 10
Block 6
59
Compare ← ArrayLength#17, Constant#22 StrictEq
Bool
60
Test ← Compare#59 → block 7, block 8
1
0
Block 7
61
CallGetIntrinsicValue
Value
62
DebugCheckSelfHosted ← CallGetIntrinsicValue#61
Value
65
Bail
66
Unreachable
Block 8
67
Constant false
I[0, 0]: Bool
68
Goto → block 9
Block 9
69
InterruptCheck
70
Bail
71
Unreachable
Block 10
107
Unbox Parameter#1 to Object (fallible)
Object
72
Goto → block 11
Block 11 (loop header)
73
Phi ← Constant#22, Add#114
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
74
Phi ← GetFrameArgument#56, Call#108
Value
75
InterruptCheck
80
Compare ← Phi#73, ArrayLength#17 Lt
Bool
81
Test ← Compare#80 → block 12, block 15
1
0
Block 12
86
GuardShape ← Unbox#10
Object
87
Elements ← GuardShape#86
Elements
88
InitializedLength ← Elements#87
I[0, 268435453]: Int32
89
BoundsCheck ← Phi#73, InitializedLength#88
I[0, 2147483646]: Int32
90
SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88
I[0, 2147483646]: Int32
91
GuardElementNotHole ← Elements#87, SpectreMaskIndex#90
184
Goto → block 13
Block 13
105
GuardElementsArePacked ← Elements#87
106
LoadElement ← Elements#87, SpectreMaskIndex#90
Value
108
Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10
Value
109
Goto → block 14
Block 14 (backedge)
114
Add ← Phi#73, Constant#52 [int32]
I[1, 2147483647]: Int32
115
Goto → block 11
Block 15
116
Return ← Phi#74
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
52
Constant 0x1
I[1, 1]: Int32
53
Compare ← ArgumentsLength#21, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
56
GetFrameArgument ← Constant#52
Value
57
Goto → block 10
Block 6
59
Compare ← ArrayLength#17, Constant#22 StrictEq
Bool
60
Test ← Compare#59 → block 7, block 8
1
0
Block 7
61
CallGetIntrinsicValue
Value
62
DebugCheckSelfHosted ← CallGetIntrinsicValue#61
Value
65
Bail
66
Unreachable
Block 8
67
Constant false
I[0, 0]: Bool
68
Goto → block 9
Block 9
69
InterruptCheck
70
Bail
71
Unreachable
Block 10
107
Unbox Parameter#1 to Object (fallible)
Object
72
Goto → block 11
Block 11 (loop header)
73
Phi ← Constant#22, Add#114
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
74
Phi ← GetFrameArgument#56, Call#108
Value
75
InterruptCheck
80
Compare ← Phi#73, ArrayLength#17 Lt
Bool
81
Test ← Compare#80 → block 12, block 15
1
0
Block 12
86
GuardShape ← Unbox#10
Object
87
Elements ← GuardShape#86
Elements
88
InitializedLength ← Elements#87
I[0, 268435453]: Int32
89
BoundsCheck ← Phi#73, InitializedLength#88
I[0, 2147483646]: Int32
90
SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88
I[0, 2147483646]: Int32
91
GuardElementNotHole ← Elements#87, SpectreMaskIndex#90
184
Goto → block 13
Block 13
105
GuardElementsArePacked ← Elements#87
106
LoadElement ← Elements#87, SpectreMaskIndex#90
Value
108
Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10
Value
109
Goto → block 14
Block 14 (backedge)
114
Add ← Phi#73, Constant#52 [int32]
I[1, 2147483647]: Int32
115
Goto → block 11
Block 15
116
Return ← Phi#74
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
52
Constant 0x1
I[1, 1]: Int32
53
Compare ← ArgumentsLength#21, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
56
GetFrameArgument ← Constant#52
Value
57
Goto → block 10
Block 6
59
Compare ← ArrayLength#17, Constant#22 StrictEq
Bool
60
Test ← Compare#59 → block 7, block 8
1
0
Block 7
61
CallGetIntrinsicValue
Value
62
DebugCheckSelfHosted ← CallGetIntrinsicValue#61
Value
65
Bail
66
Unreachable
Block 8
67
Constant false
I[0, 0]: Bool
68
Goto → block 9
Block 9
69
InterruptCheck
70
Bail
71
Unreachable
Block 10
107
Unbox Parameter#1 to Object (fallible)
Object
72
Goto → block 11
Block 11 (loop header)
73
Phi ← Constant#22, Add#114
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
74
Phi ← GetFrameArgument#56, Call#108
Value
75
InterruptCheck
80
Compare ← Phi#73, ArrayLength#17 Lt
Bool
81
Test ← Compare#80 → block 12, block 15
1
0
Block 12
86
GuardShape ← Unbox#10
Object
87
Elements ← GuardShape#86
Elements
88
InitializedLength ← Elements#87
I[0, 268435453]: Int32
89
BoundsCheck ← Phi#73, InitializedLength#88
I[0, 2147483646]: Int32
90
SpectreMaskIndex ← BoundsCheck#89, InitializedLength#88
I[0, 2147483646]: Int32
91
GuardElementNotHole ← Elements#87, SpectreMaskIndex#90
184
Goto → block 13
Block 13
105
GuardElementsArePacked ← Elements#87
106
LoadElement ← Elements#87, SpectreMaskIndex#90
Value
108
Call ← Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10
Value
109
Goto → block 14
Block 14 (backedge)
114
Add ← Phi#73, Constant#52 [int32]
I[1, 2147483647]: Int32
115
Goto → block 11
Block 15
116
Return ← Phi#74
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 10
Block 6
40
Compare ← ArrayLength#14, Constant#16 StrictEq
Bool
41
Test ← Compare#40 → block 7, block 8
1
0
Block 7
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Bail
45
Unreachable
Block 8
46
Constant false
I[0, 0]: Bool
47
Goto → block 9
Block 9
48
InterruptCheck
49
Bail
50
Unreachable
Block 10
51
Unbox Parameter#1 to Object (fallible)
Object
52
Goto → block 11
Block 11 (loop header)
53
Phi ← Constant#16, Add#69
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
54
Phi ← GetFrameArgument#38, Call#67
Value
55
InterruptCheck
56
Compare ← Phi#53, ArrayLength#14 Lt
Bool
57
Test ← Compare#56 → block 12, block 15
1
0
Block 12
58
GuardShape ← Unbox#8
Object
59
Elements ← GuardShape#58
Elements
60
InitializedLength ← Elements#59
I[0, 268435453]: Int32
61
BoundsCheck ← Phi#53, InitializedLength#60
I[0, 2147483646]: Int32
62
SpectreMaskIndex ← BoundsCheck#61, InitializedLength#60
I[0, 2147483646]: Int32
63
GuardElementNotHole ← Elements#59, SpectreMaskIndex#62
64
Goto → block 13
Block 13
65
GuardElementsArePacked ← Elements#59
66
LoadElement ← Elements#59, SpectreMaskIndex#62
Value
67
Call ← Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8
Value
68
Goto → block 14
Block 14 (backedge)
69
Add ← Phi#53, Constant#35 [int32]
I[1, 2147483647]: Int32
70
Goto → block 11
Block 15
71
Return ← Phi#54
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 10
Block 6
40
Compare ← ArrayLength#14, Constant#16 StrictEq
Bool
41
Test ← Compare#40 → block 7, block 8
1
0
Block 7
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Bail
45
Unreachable
Block 8
46
Constant false
I[0, 0]: Bool
47
Goto → block 9
Block 9
48
InterruptCheck
49
Bail
50
Unreachable
Block 10
51
Unbox Parameter#1 to Object (fallible)
Object
52
Goto → block 11
Block 11 (loop header)
53
Phi ← Constant#16, Add#69
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
54
Phi ← GetFrameArgument#38, Call#67
Value
55
InterruptCheck
56
Compare ← Phi#53, ArrayLength#14 Lt
Bool
57
Test ← Compare#56 → block 12, block 15
1
0
Block 12
58
GuardShape ← Unbox#8
Object
59
Elements ← GuardShape#58
Elements
60
InitializedLength ← Elements#59
I[0, 268435453]: Int32
61
BoundsCheck ← Phi#53, InitializedLength#60
I[0, 2147483646]: Int32
62
SpectreMaskIndex ← BoundsCheck#61, InitializedLength#60
I[0, 2147483646]: Int32
63
GuardElementNotHole ← Elements#59, SpectreMaskIndex#62
64
Goto → block 13
Block 13
65
GuardElementsArePacked ← Elements#59
66
LoadElement ← Elements#59, SpectreMaskIndex#62
Value
67
Call ← Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8
Value
68
Goto → block 14
Block 14 (backedge)
69
Add ← Phi#53, Constant#35 [int32]
I[1, 2147483647]: Int32
70
Goto → block 11
Block 15
71
Return ← Phi#54
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 10
Block 6
40
Compare ← ArrayLength#14, Constant#16 StrictEq
Bool
41
Test ← Compare#40 → block 7, block 8
1
0
Block 7
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Bail
45
Unreachable
Block 8
46
Constant false
I[0, 0]: Bool
47
Goto → block 9
Block 9
48
InterruptCheck
49
Bail
50
Unreachable
Block 10
51
Unbox Parameter#1 to Object (fallible)
Object
52
Goto → block 11
Block 11 (loop header)
53
Phi ← Constant#16, Add#69
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
54
Phi ← GetFrameArgument#38, Call#67
Value
55
InterruptCheck
56
Compare ← Phi#53, ArrayLength#14 Lt
Bool
57
Test ← Compare#56 → block 12, block 15
1
0
Block 12
58
GuardShape ← Unbox#8
Object
59
Elements ← GuardShape#58
Elements
60
InitializedLength ← Elements#59
I[0, 268435453]: Int32
61
BoundsCheck ← Phi#53, InitializedLength#60
I[0, 2147483646]: Int32
62
SpectreMaskIndex ← BoundsCheck#61, InitializedLength#60
I[0, 2147483646]: Int32
63
GuardElementNotHole ← Elements#59, SpectreMaskIndex#62
64
Goto → block 13
Block 13
65
GuardElementsArePacked ← Elements#59
66
LoadElement ← Elements#59, SpectreMaskIndex#62
Value
67
Call ← Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8
Value
68
Goto → block 14
Block 14 (backedge)
69
Add ← Phi#53, Constant#35 [int32]
I[1, 2147483647]: Int32
70
Goto → block 11
Block 15
71
Return ← Phi#54
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 10
Block 6
40
Compare ← ArrayLength#14, Constant#16 StrictEq
Bool
41
Test ← Compare#40 → block 7, block 8
1
0
Block 7
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Bail
45
Unreachable
Block 8
46
Constant false
I[0, 0]: Bool
47
Goto → block 9
Block 9
48
InterruptCheck
49
Bail
50
Unreachable
Block 10
51
Unbox Parameter#1 to Object (fallible)
Object
52
Goto → block 11
Block 11 (loop header)
53
Phi ← Constant#16, Add#69
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
54
Phi ← GetFrameArgument#38, Call#67
Value
55
InterruptCheck
56
Compare ← Phi#53, ArrayLength#14 Lt
Bool
57
Test ← Compare#56 → block 12, block 15
1
0
Block 12
58
GuardShape ← Unbox#8
Object
59
Elements ← GuardShape#58
Elements
60
InitializedLength ← Elements#59
I[0, 268435453]: Int32
61
BoundsCheck ← Phi#53, InitializedLength#60
I[0, 2147483646]: Int32
62
SpectreMaskIndex ← Phi#53, InitializedLength#60
I[0, 2147483646]: Int32
63
GuardElementNotHole ← Elements#59, SpectreMaskIndex#62
64
Goto → block 13
Block 13
65
GuardElementsArePacked ← Elements#59
66
LoadElement ← Elements#59, SpectreMaskIndex#62
Value
67
Call ← Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8
Value
68
Goto → block 14
Block 14 (backedge)
69
Add ← Phi#53, Constant#35 [int32]
I[1, 2147483647]: Int32
70
Goto → block 11
Block 15
71
Return ← Phi#54
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 10
Block 6
40
Compare ← ArrayLength#14, Constant#16 StrictEq
Bool
41
Test ← Compare#40 → block 7, block 8
1
0
Block 7
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Bail
45
Unreachable
Block 8
46
Constant false
I[0, 0]: Bool
47
Goto → block 9
Block 9
48
InterruptCheck
49
Bail
50
Unreachable
Block 10
51
Unbox Parameter#1 to Object (fallible)
Object
52
Goto → block 11
Block 11 (loop header)
53
Phi ← Constant#16, Add#69
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
54
Phi ← GetFrameArgument#38, Call#67
Value
55
InterruptCheck
56
Compare ← Phi#53, ArrayLength#14 Lt
Bool
57
Test ← Compare#56 → block 12, block 15
1
0
Block 12
58
GuardShape ← Unbox#8
Object
59
Elements ← GuardShape#58
Elements
60
InitializedLength ← Elements#59
I[0, 268435453]: Int32
61
BoundsCheck ← Phi#53, InitializedLength#60
I[0, 2147483646]: Int32
62
SpectreMaskIndex ← Phi#53, InitializedLength#60
I[0, 2147483646]: Int32
63
GuardElementNotHole ← Elements#59, SpectreMaskIndex#62
64
Goto → block 13
Block 13
65
GuardElementsArePacked ← Elements#59
66
LoadElement ← Elements#59, SpectreMaskIndex#62
Value
67
Call ← Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8
Value
68
Goto → block 14
Block 14 (backedge)
69
Add ← Phi#53, Constant#35 [int32]
I[1, 2147483647]: Int32
70
Goto → block 11
Block 15
71
Return ← Phi#54
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 10
Block 6
40
Compare ← ArrayLength#14, Constant#16 StrictEq
Bool
41
Test ← Compare#40 → block 7, block 8
1
0
Block 7
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Bail
45
Unreachable
Block 8
46
Constant false
I[0, 0]: Bool
47
Goto → block 9
Block 9
48
InterruptCheck
49
Bail
50
Unreachable
Block 10
51
Unbox Parameter#1 to Object (fallible)
Object
52
Goto → block 11
Block 11 (loop header)
53
Phi ← Constant#16, Add#69
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
54
Phi ← GetFrameArgument#38, Call#67
Value
55
InterruptCheck
56
Compare ← Phi#53, ArrayLength#14 Lt
Bool
57
Test ← Compare#56 → block 12, block 15
1
0
Block 12
58
GuardShape ← Unbox#8
Object
59
Elements ← GuardShape#58
Elements
60
InitializedLength ← Elements#59
I[0, 268435453]: Int32
61
BoundsCheck ← Phi#53, InitializedLength#60
I[0, 2147483646]: Int32
62
SpectreMaskIndex ← Phi#53, InitializedLength#60
I[0, 2147483646]: Int32
63
GuardElementNotHole ← Elements#59, SpectreMaskIndex#62
64
Goto → block 13
Block 13
65
GuardElementsArePacked ← Elements#59
66
LoadElement ← Elements#59, SpectreMaskIndex#62
Value
67
Call ← Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8
Value
68
Goto → block 14
Block 14 (backedge)
69
Add ← Phi#53, Constant#35 [int32]
I[1, 2147483647]: Int32
70
Goto → block 11
Block 15
71
Return ← Phi#54
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 10
Block 6
40
Compare ← ArrayLength#14, Constant#16 StrictEq
Bool
41
Test ← Compare#40 → block 7, block 8
1
0
Block 7
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Bail
45
Unreachable
Block 8
46
Constant false
I[0, 0]: Bool
47
Goto → block 9
Block 9
48
InterruptCheck
49
Bail
50
Unreachable
Block 10
51
Unbox Parameter#1 to Object (fallible)
Object
52
Goto → block 11
Block 11 (loop header)
53
Phi ← Constant#16, Add#69
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
54
Phi ← GetFrameArgument#38, Call#67
Value
55
InterruptCheck
56
Compare ← Phi#53, ArrayLength#14 Lt
Bool
57
Test ← Compare#56 → block 12, block 15
1
0
Block 12
58
GuardShape ← Unbox#8
Object
59
Elements ← GuardShape#58
Elements
60
InitializedLength ← Elements#59
I[0, 268435453]: Int32
61
BoundsCheck ← Phi#53, InitializedLength#60
I[0, 2147483646]: Int32
62
SpectreMaskIndex ← Phi#53, InitializedLength#60
I[0, 2147483646]: Int32
63
GuardElementNotHole ← Elements#59, SpectreMaskIndex#62
64
Goto → block 13
Block 13
65
GuardElementsArePacked ← Elements#59
66
LoadElement ← Elements#59, SpectreMaskIndex#62
Value
67
Call ← Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8
Value
68
Goto → block 14
Block 14 (backedge)
69
Add ← Phi#53, Constant#35 [int32]
I[1, 2147483647]: Int32
70
Goto → block 11
Block 15
71
Return ← Phi#54
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
193
DebugEnterGCUnsafeRegion
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
194
DebugLeaveGCUnsafeRegion
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 10
Block 6
40
Compare ← ArrayLength#14, Constant#16 StrictEq
Bool
41
Test ← Compare#40 → block 7, block 8
1
0
Block 7
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Bail
45
Unreachable
Block 8
46
Constant false
I[0, 0]: Bool
47
Goto → block 9
Block 9
48
InterruptCheck
49
Bail
50
Unreachable
Block 10
51
Unbox Parameter#1 to Object (fallible)
Object
52
Goto → block 11
Block 11 (loop header)
53
Phi ← Constant#16, Add#69
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
54
Phi ← GetFrameArgument#38, Call#67
Value
55
InterruptCheck
56
Compare ← Phi#53, ArrayLength#14 Lt
Bool
57
Test ← Compare#56 → block 12, block 15
1
0
Block 12
58
GuardShape ← Unbox#8
Object
59
Elements ← GuardShape#58
Elements
199
DebugEnterGCUnsafeRegion
197
DebugEnterGCUnsafeRegion
60
InitializedLength ← Elements#59
I[0, 268435453]: Int32
200
DebugLeaveGCUnsafeRegion
61
BoundsCheck ← Phi#53, InitializedLength#60
I[0, 2147483646]: Int32
62
SpectreMaskIndex ← Phi#53, InitializedLength#60
I[0, 2147483646]: Int32
63
GuardElementNotHole ← Elements#59, SpectreMaskIndex#62
198
DebugLeaveGCUnsafeRegion
64
Goto → block 13
Block 13
65
GuardElementsArePacked ← Elements#59
196
KeepAliveObject ← GuardShape#58
66
LoadElement ← Elements#59, SpectreMaskIndex#62
Value
195
KeepAliveObject ← GuardShape#58
67
Call ← Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8
Value
68
Goto → block 14
Block 14 (backedge)
69
Add ← Phi#53, Constant#35 [int32]
I[1, 2147483647]: Int32
70
Goto → block 11
Block 15
71
Return ← Phi#54
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
193
DebugEnterGCUnsafeRegion
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
194
DebugLeaveGCUnsafeRegion
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 10
Block 6
40
Compare ← ArrayLength#14, Constant#16 StrictEq
Bool
41
Test ← Compare#40 → block 7, block 8
1
0
Block 7
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Bail
45
Unreachable
Block 8
46
Constant false
I[0, 0]: Bool
47
Goto → block 9
Block 9
48
InterruptCheck
49
Bail
50
Unreachable
Block 10
51
Unbox Parameter#1 to Object (fallible)
Object
52
Goto → block 11
Block 11 (loop header)
53
Phi ← Constant#16, Add#69
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
54
Phi ← GetFrameArgument#38, Call#67
Value
55
InterruptCheck
56
Compare ← Phi#53, ArrayLength#14 Lt
Bool
57
Test ← Compare#56 → block 12, block 15
1
0
Block 12
58
GuardShape ← Unbox#8
Object
59
Elements ← GuardShape#58
Elements
199
DebugEnterGCUnsafeRegion
197
DebugEnterGCUnsafeRegion
60
InitializedLength ← Elements#59
I[0, 268435453]: Int32
200
DebugLeaveGCUnsafeRegion
61
BoundsCheck ← Phi#53, InitializedLength#60
I[0, 2147483646]: Int32
62
SpectreMaskIndex ← Phi#53, InitializedLength#60
I[0, 2147483646]: Int32
63
GuardElementNotHole ← Elements#59, SpectreMaskIndex#62
198
DebugLeaveGCUnsafeRegion
64
Goto → block 13
Block 13
65
GuardElementsArePacked ← Elements#59
196
KeepAliveObject ← GuardShape#58
66
LoadElement ← Elements#59, SpectreMaskIndex#62
Value
195
KeepAliveObject ← GuardShape#58
67
Call ← Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8
Value
68
Goto → block 14
Block 14 (backedge)
69
Add ← Phi#53, Constant#35 [int32]
I[1, 2147483647]: Int32
70
Goto → block 11
Block 15
71
Return ← Phi#54
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
193
DebugEnterGCUnsafeRegion
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
194
DebugLeaveGCUnsafeRegion
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 10
Block 6
40
Compare ← ArrayLength#14, Constant#16 StrictEq
Bool
41
Test ← Compare#40 → block 7, block 8
1
0
Block 7
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Bail
45
Unreachable
Block 8
46
Constant false
I[0, 0]: Bool
47
Goto → block 9
Block 9
48
InterruptCheck
49
Bail
50
Unreachable
Block 10
51
Unbox Parameter#1 to Object (fallible)
Object
52
Goto → block 11
Block 11 (loop header)
53
Phi ← Constant#16, Add#69
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
54
Phi ← GetFrameArgument#38, Call#67
Value
55
InterruptCheck
56
Compare ← Phi#53, ArrayLength#14 Lt
Bool
57
Test ← Compare#56 → block 12, block 15
1
0
Block 12
58
GuardShape ← Unbox#8
Object
59
Elements ← GuardShape#58
Elements
199
DebugEnterGCUnsafeRegion
197
DebugEnterGCUnsafeRegion
60
InitializedLength ← Elements#59
I[0, 268435453]: Int32
200
DebugLeaveGCUnsafeRegion
61
BoundsCheck ← Phi#53, InitializedLength#60
I[0, 2147483646]: Int32
62
SpectreMaskIndex ← Phi#53, InitializedLength#60
I[0, 2147483646]: Int32
63
GuardElementNotHole ← Elements#59, SpectreMaskIndex#62
198
DebugLeaveGCUnsafeRegion
64
Goto → block 13
Block 13
65
GuardElementsArePacked ← Elements#59
196
KeepAliveObject ← GuardShape#58
66
LoadElement ← Elements#59, SpectreMaskIndex#62
Value
195
KeepAliveObject ← GuardShape#58
67
Call ← Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8
Value
68
Goto → block 14
Block 14 (backedge)
69
Add ← Phi#53, Constant#35 [int32]
I[1, 2147483647]: Int32
70
Goto → block 11
Block 15
71
Return ← Phi#54
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
Int32
8
Constant 0x1
Int32
9
Unbox Parameter#1 to Int32 (fallible)
Int32
10
Rsh ← Unbox#9, Constant#8
Int32
11
Constant 0xff
Int32
12
Unbox Parameter#1 to Int32 (fallible)
Int32
13
BitAnd ← Unbox#12, Constant#11
Int32
14
Constant 0x2
Int32
15
Unbox Parameter#1 to Int32 (fallible)
Int32
16
Ursh ← Unbox#15, Constant#14
Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
Int32
18
Unbox Parameter#1 to Int32 (fallible)
Int32
19
BitNot ← Unbox#18
Int32
20
Sub ← Add#17, BitNot#19 [int32]
Int32
21
BitXor ← Rsh#10, Sub#20
Int32
22
BitOr ← Lsh#7, BitXor#21
Int32
23
Return ← BitOr#22
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
Int32
8
Constant 0x1
Int32
9
Unbox Parameter#1 to Int32 (fallible)
Int32
10
Rsh ← Unbox#9, Constant#8
Int32
11
Constant 0xff
Int32
12
Unbox Parameter#1 to Int32 (fallible)
Int32
13
BitAnd ← Unbox#12, Constant#11
Int32
14
Constant 0x2
Int32
15
Unbox Parameter#1 to Int32 (fallible)
Int32
16
Ursh ← Unbox#15, Constant#14
Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
Int32
18
Unbox Parameter#1 to Int32 (fallible)
Int32
19
BitNot ← Unbox#18
Int32
20
Sub ← Add#17, BitNot#19 [int32]
Int32
21
BitXor ← Rsh#10, Sub#20
Int32
22
BitOr ← Lsh#7, BitXor#21
Int32
23
Return ← BitOr#22
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
Int32
8
Constant 0x1
Int32
9
Unbox Parameter#1 to Int32 (fallible)
Int32
10
Rsh ← Unbox#9, Constant#8
Int32
11
Constant 0xff
Int32
12
Unbox Parameter#1 to Int32 (fallible)
Int32
13
BitAnd ← Unbox#12, Constant#11
Int32
14
Constant 0x2
Int32
15
Unbox Parameter#1 to Int32 (fallible)
Int32
16
Ursh ← Unbox#15, Constant#14
Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
Int32
18
Unbox Parameter#1 to Int32 (fallible)
Int32
19
BitNot ← Unbox#18
Int32
20
Sub ← Add#17, BitNot#19 [int32]
Int32
21
BitXor ← Rsh#10, Sub#20
Int32
22
BitOr ← Lsh#7, BitXor#21
Int32
23
Return ← BitOr#22
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
Int32
8
Constant 0x1
Int32
9
Unbox Parameter#1 to Int32 (fallible)
Int32
10
Rsh ← Unbox#9, Constant#8
Int32
11
Constant 0xff
Int32
12
Unbox Parameter#1 to Int32 (fallible)
Int32
13
BitAnd ← Unbox#12, Constant#11
Int32
14
Constant 0x2
Int32
15
Unbox Parameter#1 to Int32 (fallible)
Int32
16
Ursh ← Unbox#15, Constant#14
Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
Int32
18
Unbox Parameter#1 to Int32 (fallible)
Int32
19
BitNot ← Unbox#18
Int32
20
Sub ← Add#17, BitNot#19 [int32]
Int32
21
BitXor ← Rsh#10, Sub#20
Int32
22
BitOr ← Lsh#7, BitXor#21
Int32
23
Return ← BitOr#22
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
Int32
8
Constant 0x1
Int32
9
Unbox Parameter#1 to Int32 (fallible)
Int32
10
Rsh ← Unbox#9, Constant#8
Int32
11
Constant 0xff
Int32
12
Unbox Parameter#1 to Int32 (fallible)
Int32
13
BitAnd ← Unbox#12, Constant#11
Int32
14
Constant 0x2
Int32
15
Unbox Parameter#1 to Int32 (fallible)
Int32
16
Ursh ← Unbox#15, Constant#14
Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
Int32
18
Unbox Parameter#1 to Int32 (fallible)
Int32
19
BitNot ← Unbox#18
Int32
20
Sub ← Add#17, BitNot#19 [int32]
Int32
21
BitXor ← Rsh#10, Sub#20
Int32
22
BitOr ← Lsh#7, BitXor#21
Int32
23
Return ← BitOr#22
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
Int32
8
Constant 0x1
Int32
9
Unbox Parameter#1 to Int32 (fallible)
Int32
10
Rsh ← Unbox#9, Constant#8
Int32
11
Constant 0xff
Int32
12
Unbox Parameter#1 to Int32 (fallible)
Int32
13
BitAnd ← Unbox#12, Constant#11
Int32
14
Constant 0x2
Int32
15
Unbox Parameter#1 to Int32 (fallible)
Int32
16
Ursh ← Unbox#15, Constant#14
Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
Int32
18
Unbox Parameter#1 to Int32 (fallible)
Int32
19
BitNot ← Unbox#18
Int32
20
Sub ← Add#17, BitNot#19 [int32]
Int32
21
BitXor ← Rsh#10, Sub#20
Int32
22
BitOr ← Lsh#7, BitXor#21
Int32
23
Return ← BitOr#22
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
Int32
8
Constant 0x1
Int32
9
Unbox Parameter#1 to Int32 (fallible)
Int32
10
Rsh ← Unbox#9, Constant#8
Int32
11
Constant 0xff
Int32
12
Unbox Parameter#1 to Int32 (fallible)
Int32
13
BitAnd ← Unbox#12, Constant#11
Int32
14
Constant 0x2
Int32
15
Unbox Parameter#1 to Int32 (fallible)
Int32
16
Ursh ← Unbox#15, Constant#14
Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
Int32
18
Unbox Parameter#1 to Int32 (fallible)
Int32
19
BitNot ← Unbox#18
Int32
20
Sub ← Add#17, BitNot#19 [int32]
Int32
21
BitXor ← Rsh#10, Sub#20
Int32
22
BitOr ← Lsh#7, BitXor#21
Int32
23
Return ← BitOr#22
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
Int32
8
Constant 0x1
Int32
9
Unbox Parameter#1 to Int32 (fallible)
Int32
10
Rsh ← Unbox#9, Constant#8
Int32
11
Constant 0xff
Int32
12
Unbox Parameter#1 to Int32 (fallible)
Int32
13
BitAnd ← Unbox#12, Constant#11
Int32
14
Constant 0x2
Int32
15
Unbox Parameter#1 to Int32 (fallible)
Int32
16
Ursh ← Unbox#15, Constant#14
Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
Int32
18
Unbox Parameter#1 to Int32 (fallible)
Int32
19
BitNot ← Unbox#18
Int32
20
Sub ← Add#17, BitNot#19 [int32]
Int32
21
BitXor ← Rsh#10, Sub#20
Int32
22
BitOr ← Lsh#7, BitXor#21
Int32
23
Return ← BitOr#22
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
Int32
8
Constant 0x1
Int32
9
Unbox Parameter#1 to Int32 (fallible)
Int32
10
Rsh ← Unbox#9, Constant#8
Int32
11
Constant 0xff
Int32
12
Unbox Parameter#1 to Int32 (fallible)
Int32
13
BitAnd ← Unbox#12, Constant#11
Int32
14
Constant 0x2
Int32
15
Unbox Parameter#1 to Int32 (fallible)
Int32
16
Ursh ← Unbox#15, Constant#14
Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
Int32
18
Unbox Parameter#1 to Int32 (fallible)
Int32
19
BitNot ← Unbox#18
Int32
20
Sub ← Add#17, BitNot#19 [int32]
Int32
21
BitXor ← Rsh#10, Sub#20
Int32
22
BitOr ← Lsh#7, BitXor#21
Int32
23
Return ← BitOr#22
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
Int32
8
Constant 0x1
Int32
9
Unbox Parameter#1 to Int32 (fallible)
Int32
10
Rsh ← Unbox#9, Constant#8
Int32
11
Constant 0xff
Int32
12
Unbox Parameter#1 to Int32 (fallible)
Int32
13
BitAnd ← Unbox#12, Constant#11
Int32
14
Constant 0x2
Int32
15
Unbox Parameter#1 to Int32 (fallible)
Int32
16
Ursh ← Unbox#15, Constant#14
Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
Int32
18
Unbox Parameter#1 to Int32 (fallible)
Int32
19
BitNot ← Unbox#18
Int32
20
Sub ← Add#17, BitNot#19 [int32]
Int32
21
BitXor ← Rsh#10, Sub#20
Int32
22
BitOr ← Lsh#7, BitXor#21
Int32
23
Return ← BitOr#22
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
Int32
8
Constant 0x1
Int32
9
Unbox Parameter#1 to Int32 (fallible)
Int32
10
Rsh ← Unbox#9, Constant#8
Int32
11
Constant 0xff
Int32
12
Unbox Parameter#1 to Int32 (fallible)
Int32
13
BitAnd ← Unbox#12, Constant#11
Int32
14
Constant 0x2
Int32
15
Unbox Parameter#1 to Int32 (fallible)
Int32
16
Ursh ← Unbox#15, Constant#14
Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
Int32
18
Unbox Parameter#1 to Int32 (fallible)
Int32
19
BitNot ← Unbox#18
Int32
20
Sub ← Add#17, BitNot#19 [int32]
Int32
21
BitXor ← Rsh#10, Sub#20
Int32
22
BitOr ← Lsh#7, BitXor#21
Int32
23
Return ← BitOr#22
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
Int32
8
Constant 0x1
Int32
9
Unbox Parameter#1 to Int32 (fallible)
Int32
10
Rsh ← Unbox#9, Constant#8
Int32
11
Constant 0xff
Int32
12
Unbox Parameter#1 to Int32 (fallible)
Int32
13
BitAnd ← Unbox#12, Constant#11
Int32
14
Constant 0x2
Int32
15
Unbox Parameter#1 to Int32 (fallible)
Int32
16
Ursh ← Unbox#15, Constant#14
Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
Int32
18
Unbox Parameter#1 to Int32 (fallible)
Int32
19
BitNot ← Unbox#18
Int32
20
Sub ← Add#17, BitNot#19 [int32]
Int32
21
BitXor ← Rsh#10, Sub#20
Int32
22
BitOr ← Lsh#7, BitXor#21
Int32
24
Box ← BitOr#22
Value
23
Return ← Box#24
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
Int32
8
Constant 0x1
Int32
9
Unbox Parameter#1 to Int32 (fallible)
Int32
10
Rsh ← Unbox#9, Constant#8
Int32
11
Constant 0xff
Int32
12
Unbox Parameter#1 to Int32 (fallible)
Int32
13
BitAnd ← Unbox#12, Constant#11
Int32
14
Constant 0x2
Int32
15
Unbox Parameter#1 to Int32 (fallible)
Int32
16
Ursh ← Unbox#15, Constant#14
Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
Int32
18
Unbox Parameter#1 to Int32 (fallible)
Int32
19
BitNot ← Unbox#18
Int32
20
Sub ← Add#17, BitNot#19 [int32]
Int32
21
BitXor ← Rsh#10, Sub#20
Int32
22
BitOr ← Lsh#7, BitXor#21
Int32
23
Box ← BitOr#22
Value
24
Return ← Box#23
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
Int32
8
Constant 0x1
Int32
9
Unbox Parameter#1 to Int32 (fallible)
Int32
10
Rsh ← Unbox#9, Constant#8
Int32
11
Constant 0xff
Int32
12
Unbox Parameter#1 to Int32 (fallible)
Int32
13
BitAnd ← Unbox#12, Constant#11
Int32
14
Constant 0x2
Int32
15
Unbox Parameter#1 to Int32 (fallible)
Int32
16
Ursh ← Unbox#15, Constant#14
Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
Int32
18
Unbox Parameter#1 to Int32 (fallible)
Int32
19
BitNot ← Unbox#18
Int32
20
Sub ← Add#17, BitNot#19 [int32]
Int32
21
BitXor ← Rsh#10, Sub#20
Int32
22
BitOr ← Lsh#7, BitXor#21
Int32
23
Box ← BitOr#22
Value
24
Return ← Box#23
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
Int32
10
Rsh ← Unbox#6, Constant#5
Int32
11
Constant 0xff
Int32
13
BitAnd ← Unbox#6, Constant#11
Int32
14
Constant 0x2
Int32
16
Ursh ← Unbox#6, Constant#14
Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
Int32
19
BitNot ← Unbox#6
Int32
20
Sub ← Add#17, BitNot#19 [int32]
Int32
21
BitXor ← Rsh#10, Sub#20
Int32
22
BitOr ← Lsh#7, BitXor#21
Int32
23
Box ← BitOr#22
Value
24
Return ← Box#23
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
Int32
10
Rsh ← Unbox#6, Constant#5
Int32
11
Constant 0xff
Int32
13
BitAnd ← Unbox#6, Constant#11
Int32
14
Constant 0x2
Int32
16
Ursh ← Unbox#6, Constant#14
Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
Int32
19
BitNot ← Unbox#6
Int32
20
Sub ← Add#17, BitNot#19 [int32]
Int32
21
BitXor ← Rsh#10, Sub#20
Int32
22
BitOr ← Lsh#7, BitXor#21
Int32
23
Box ← BitOr#22
Value
24
Return ← Box#23
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
Int32
10
Rsh ← Unbox#6, Constant#5
Int32
11
Constant 0xff
Int32
13
BitAnd ← Unbox#6, Constant#11
Int32
14
Constant 0x2
Int32
16
Ursh ← Unbox#6, Constant#14
Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
Int32
19
BitNot ← Unbox#6
Int32
20
Sub ← Add#17, BitNot#19 [int32]
Int32
21
BitXor ← Rsh#10, Sub#20
Int32
22
BitOr ← Lsh#7, BitXor#21
Int32
23
Box ← BitOr#22
Value
24
Return ← Box#23
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
I[1, 1]: Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
I[-2147483648, 2147483647]: Int32
10
Rsh ← Unbox#6, Constant#5
I[-1073741824, 1073741823]: Int32
11
Constant 0xff
I[255, 255]: Int32
13
BitAnd ← Unbox#6, Constant#11
I[0, 255]: Int32
14
Constant 0x2
I[2, 2]: Int32
16
Ursh ← Unbox#6, Constant#14
I[0, 1073741823]: Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
I[0, 1073742078]: Int32
19
BitNot ← Unbox#6
I[-2147483648, 2147483647]: Int32
20
Sub ← Add#17, BitNot#19 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
21
BitXor ← Rsh#10, Sub#20
I[-2147483648, 2147483647]: Int32
22
BitOr ← Lsh#7, BitXor#21
I[-2147483648, 2147483647]: Int32
23
Box ← BitOr#22
Value
24
Return ← Box#23
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
I[1, 1]: Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
I[-2147483648, 2147483647]: Int32
10
Rsh ← Unbox#6, Constant#5
I[-1073741824, 1073741823]: Int32
11
Constant 0xff
I[255, 255]: Int32
13
BitAnd ← Unbox#6, Constant#11
I[0, 255]: Int32
14
Constant 0x2
I[2, 2]: Int32
16
Ursh ← Unbox#6, Constant#14
I[0, 1073741823]: Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
I[0, 1073742078]: Int32
19
BitNot ← Unbox#6
I[-2147483648, 2147483647]: Int32
20
Sub ← Add#17, BitNot#19 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
21
BitXor ← Rsh#10, Sub#20
I[-2147483648, 2147483647]: Int32
22
BitOr ← Lsh#7, BitXor#21
I[-2147483648, 2147483647]: Int32
23
Box ← BitOr#22
Value
24
Return ← Box#23
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
I[1, 1]: Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
I[-2147483648, 2147483647]: Int32
10
Rsh ← Unbox#6, Constant#5
I[-1073741824, 1073741823]: Int32
11
Constant 0xff
I[255, 255]: Int32
13
BitAnd ← Unbox#6, Constant#11
I[0, 255]: Int32
14
Constant 0x2
I[2, 2]: Int32
16
Ursh ← Unbox#6, Constant#14
I[0, 1073741823]: Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
I[0, 1073742078]: Int32
19
BitNot ← Unbox#6
I[-2147483648, 2147483647]: Int32
20
Sub ← Add#17, BitNot#19 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
21
BitXor ← Rsh#10, Sub#20
I[-2147483648, 2147483647]: Int32
22
BitOr ← Lsh#7, BitXor#21
I[-2147483648, 2147483647]: Int32
23
Box ← BitOr#22
Value
24
Return ← Box#23
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
I[1, 1]: Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
I[-2147483648, 2147483647]: Int32
10
Rsh ← Unbox#6, Constant#5
I[-1073741824, 1073741823]: Int32
11
Constant 0xff
I[255, 255]: Int32
13
BitAnd ← Unbox#6, Constant#11
I[0, 255]: Int32
14
Constant 0x2
I[2, 2]: Int32
16
Ursh ← Unbox#6, Constant#14
I[0, 1073741823]: Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
I[0, 1073742078]: Int32
19
BitNot ← Unbox#6
I[-2147483648, 2147483647]: Int32
20
Sub ← Add#17, BitNot#19 [int32]
I[-2147483648, 2147483647]: Int32 (t)
21
BitXor ← Rsh#10, Sub#20
I[-2147483648, 2147483647]: Int32
22
BitOr ← Lsh#7, BitXor#21
I[-2147483648, 2147483647]: Int32
23
Box ← BitOr#22
Value
24
Return ← Box#23
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
I[1, 1]: Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
I[-2147483648, 2147483647]: Int32
10
Rsh ← Unbox#6, Constant#5
I[-1073741824, 1073741823]: Int32
11
Constant 0xff
I[255, 255]: Int32
13
BitAnd ← Unbox#6, Constant#11
I[0, 255]: Int32
14
Constant 0x2
I[2, 2]: Int32
16
Ursh ← Unbox#6, Constant#14
I[0, 1073741823]: Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
I[0, 1073742078]: Int32
19
BitNot ← Unbox#6
I[-2147483648, 2147483647]: Int32
20
Sub ← Add#17, BitNot#19 [int32]
I[-2147483648, 2147483647]: Int32 (t)
21
BitXor ← Rsh#10, Sub#20
I[-2147483648, 2147483647]: Int32
22
BitOr ← Lsh#7, BitXor#21
I[-2147483648, 2147483647]: Int32
23
Box ← BitOr#22
Value
24
Return ← Box#23
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
I[1, 1]: Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
I[-2147483648, 2147483647]: Int32
10
Rsh ← Unbox#6, Constant#5
I[-1073741824, 1073741823]: Int32
11
Constant 0xff
I[255, 255]: Int32
13
BitAnd ← Unbox#6, Constant#11
I[0, 255]: Int32
14
Constant 0x2
I[2, 2]: Int32
16
Ursh ← Unbox#6, Constant#14
I[0, 1073741823]: Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
I[0, 1073742078]: Int32
19
BitNot ← Unbox#6
I[-2147483648, 2147483647]: Int32
20
Sub ← Add#17, BitNot#19 [int32]
I[-2147483648, 2147483647]: Int32 (t)
21
BitXor ← Rsh#10, Sub#20
I[-2147483648, 2147483647]: Int32
22
BitOr ← Lsh#7, BitXor#21
I[-2147483648, 2147483647]: Int32
23
Box ← BitOr#22
Value
24
Return ← Box#23
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
I[1, 1]: Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
I[-2147483648, 2147483647]: Int32
10
Rsh ← Unbox#6, Constant#5
I[-1073741824, 1073741823]: Int32
11
Constant 0xff
I[255, 255]: Int32
13
BitAnd ← Unbox#6, Constant#11
I[0, 255]: Int32
14
Constant 0x2
I[2, 2]: Int32
16
Ursh ← Unbox#6, Constant#14
I[0, 1073741823]: Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
I[0, 1073742078]: Int32
19
BitNot ← Unbox#6
I[-2147483648, 2147483647]: Int32
20
Sub ← Add#17, BitNot#19 [int32]
I[-2147483648, 2147483647]: Int32 (t)
21
BitXor ← Rsh#10, Sub#20
I[-2147483648, 2147483647]: Int32
22
BitOr ← Lsh#7, BitXor#21
I[-2147483648, 2147483647]: Int32
23
Box ← BitOr#22
Value
24
Return ← Box#23
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
I[1, 1]: Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
I[-2147483648, 2147483647]: Int32
10
Rsh ← Unbox#6, Constant#5
I[-1073741824, 1073741823]: Int32
11
Constant 0xff
I[255, 255]: Int32
13
BitAnd ← Unbox#6, Constant#11
I[0, 255]: Int32
14
Constant 0x2
I[2, 2]: Int32
16
Ursh ← Unbox#6, Constant#14
I[0, 1073741823]: Int32
17
Add ← BitAnd#13, Ursh#16 [int32]
I[0, 1073742078]: Int32
19
BitNot ← Unbox#6
I[-2147483648, 2147483647]: Int32
20
Sub ← Add#17, BitNot#19 [int32]
I[-2147483648, 2147483647]: Int32 (t)
21
BitXor ← Rsh#10, Sub#20
I[-2147483648, 2147483647]: Int32
22
BitOr ← Lsh#7, BitXor#21
I[-2147483648, 2147483647]: Int32
23
Box ← BitOr#22
Value
24
Return ← Box#23
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
I[1, 1]: Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
I[-2147483648, 2147483647]: Int32
8
Rsh ← Unbox#6, Constant#5
I[-1073741824, 1073741823]: Int32
9
Constant 0xff
I[255, 255]: Int32
10
BitAnd ← Unbox#6, Constant#9
I[0, 255]: Int32
11
Constant 0x2
I[2, 2]: Int32
12
Ursh ← Unbox#6, Constant#11
I[0, 1073741823]: Int32
13
Add ← BitAnd#10, Ursh#12 [int32]
I[0, 1073742078]: Int32
14
BitNot ← Unbox#6
I[-2147483648, 2147483647]: Int32
15
Sub ← Add#13, BitNot#14 [int32]
I[-2147483648, 2147483647]: Int32 (t)
16
BitXor ← Rsh#8, Sub#15
I[-2147483648, 2147483647]: Int32
17
BitOr ← Lsh#7, BitXor#16
I[-2147483648, 2147483647]: Int32
18
Box ← BitOr#17
Value
19
Return ← Box#18
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
I[1, 1]: Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
I[-2147483648, 2147483647]: Int32
8
Rsh ← Unbox#6, Constant#5
I[-1073741824, 1073741823]: Int32
9
Constant 0xff
I[255, 255]: Int32
10
BitAnd ← Unbox#6, Constant#9
I[0, 255]: Int32
11
Constant 0x2
I[2, 2]: Int32
12
Ursh ← Unbox#6, Constant#11
I[0, 1073741823]: Int32
13
Add ← BitAnd#10, Ursh#12 [int32]
I[0, 1073742078]: Int32
14
BitNot ← Unbox#6
I[-2147483648, 2147483647]: Int32
15
Sub ← Add#13, BitNot#14 [int32]
I[-2147483648, 2147483647]: Int32 (t)
16
BitXor ← Rsh#8, Sub#15
I[-2147483648, 2147483647]: Int32
17
BitOr ← Lsh#7, BitXor#16
I[-2147483648, 2147483647]: Int32
18
Box ← BitOr#17
Value
19
Return ← Box#18
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
I[1, 1]: Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
I[-2147483648, 2147483647]: Int32
8
Rsh ← Unbox#6, Constant#5
I[-1073741824, 1073741823]: Int32
9
Constant 0xff
I[255, 255]: Int32
10
BitAnd ← Unbox#6, Constant#9
I[0, 255]: Int32
11
Constant 0x2
I[2, 2]: Int32
12
Ursh ← Unbox#6, Constant#11
I[0, 1073741823]: Int32
13
Add ← BitAnd#10, Ursh#12 [int32]
I[0, 1073742078]: Int32
14
BitNot ← Unbox#6
I[-2147483648, 2147483647]: Int32
15
Sub ← Add#13, BitNot#14 [int32]
I[-2147483648, 2147483647]: Int32 (t)
16
BitXor ← Rsh#8, Sub#15
I[-2147483648, 2147483647]: Int32
17
BitOr ← Lsh#7, BitXor#16
I[-2147483648, 2147483647]: Int32
18
Box ← BitOr#17
Value
19
Return ← Box#18
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
I[1, 1]: Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
I[-2147483648, 2147483647]: Int32
8
Rsh ← Unbox#6, Constant#5
I[-1073741824, 1073741823]: Int32
9
Constant 0xff
I[255, 255]: Int32
10
BitAnd ← Unbox#6, Constant#9
I[0, 255]: Int32
11
Constant 0x2
I[2, 2]: Int32
12
Ursh ← Unbox#6, Constant#11
I[0, 1073741823]: Int32
13
Add ← BitAnd#10, Ursh#12 [int32]
I[0, 1073742078]: Int32
14
BitNot ← Unbox#6
I[-2147483648, 2147483647]: Int32
15
Sub ← Add#13, BitNot#14 [int32]
I[-2147483648, 2147483647]: Int32 (t)
16
BitXor ← Rsh#8, Sub#15
I[-2147483648, 2147483647]: Int32
17
BitOr ← Lsh#7, BitXor#16
I[-2147483648, 2147483647]: Int32
18
Box ← BitOr#17
Value
19
Return ← Box#18
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
I[1, 1]: Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
I[-2147483648, 2147483647]: Int32
8
Rsh ← Unbox#6, Constant#5
I[-1073741824, 1073741823]: Int32
9
Constant 0xff
I[255, 255]: Int32
10
BitAnd ← Unbox#6, Constant#9
I[0, 255]: Int32
11
Constant 0x2
I[2, 2]: Int32
12
Ursh ← Unbox#6, Constant#11
I[0, 1073741823]: Int32
13
Add ← BitAnd#10, Ursh#12 [int32]
I[0, 1073742078]: Int32
14
BitNot ← Unbox#6
I[-2147483648, 2147483647]: Int32
15
Sub ← Add#13, BitNot#14 [int32]
I[-2147483648, 2147483647]: Int32 (t)
16
BitXor ← Rsh#8, Sub#15
I[-2147483648, 2147483647]: Int32
17
BitOr ← Lsh#7, BitXor#16
I[-2147483648, 2147483647]: Int32
18
Box ← BitOr#17
Value
19
Return ← Box#18
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
I[1, 1]: Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
I[-2147483648, 2147483647]: Int32
8
Rsh ← Unbox#6, Constant#5
I[-1073741824, 1073741823]: Int32
9
Constant 0xff
I[255, 255]: Int32
10
BitAnd ← Unbox#6, Constant#9
I[0, 255]: Int32
11
Constant 0x2
I[2, 2]: Int32
12
Ursh ← Unbox#6, Constant#11
I[0, 1073741823]: Int32
13
Add ← BitAnd#10, Ursh#12 [int32]
I[0, 1073742078]: Int32
14
BitNot ← Unbox#6
I[-2147483648, 2147483647]: Int32
15
Sub ← Add#13, BitNot#14 [int32]
I[-2147483648, 2147483647]: Int32 (t)
16
BitXor ← Rsh#8, Sub#15
I[-2147483648, 2147483647]: Int32
17
BitOr ← Lsh#7, BitXor#16
I[-2147483648, 2147483647]: Int32
18
Box ← BitOr#17
Value
19
Return ← Box#18
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
I[1, 1]: Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
I[-2147483648, 2147483647]: Int32
8
Rsh ← Unbox#6, Constant#5
I[-1073741824, 1073741823]: Int32
9
Constant 0xff
I[255, 255]: Int32
10
BitAnd ← Unbox#6, Constant#9
I[0, 255]: Int32
11
Constant 0x2
I[2, 2]: Int32
12
Ursh ← Unbox#6, Constant#11
I[0, 1073741823]: Int32
13
Add ← BitAnd#10, Ursh#12 [int32]
I[0, 1073742078]: Int32
14
BitNot ← Unbox#6
I[-2147483648, 2147483647]: Int32
15
Sub ← Add#13, BitNot#14 [int32]
I[-2147483648, 2147483647]: Int32 (t)
16
BitXor ← Rsh#8, Sub#15
I[-2147483648, 2147483647]: Int32
17
BitOr ← Lsh#7, BitXor#16
I[-2147483648, 2147483647]: Int32
18
Box ← BitOr#17
Value
19
Return ← Box#18
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
I[1, 1]: Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
I[-2147483648, 2147483647]: Int32
8
Rsh ← Unbox#6, Constant#5
I[-1073741824, 1073741823]: Int32
9
Constant 0xff
I[255, 255]: Int32
10
BitAnd ← Unbox#6, Constant#9
I[0, 255]: Int32
11
Constant 0x2
I[2, 2]: Int32
12
Ursh ← Unbox#6, Constant#11
I[0, 1073741823]: Int32
13
Add ← BitAnd#10, Ursh#12 [int32]
I[0, 1073742078]: Int32
14
BitNot ← Unbox#6
I[-2147483648, 2147483647]: Int32
15
Sub ← Add#13, BitNot#14 [int32]
I[-2147483648, 2147483647]: Int32 (t)
16
BitXor ← Rsh#8, Sub#15
I[-2147483648, 2147483647]: Int32
17
BitOr ← Lsh#7, BitXor#16
I[-2147483648, 2147483647]: Int32
18
Box ← BitOr#17
Value
19
Return ← Box#18
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
I[1, 1]: Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
I[-2147483648, 2147483647]: Int32
8
Rsh ← Unbox#6, Constant#5
I[-1073741824, 1073741823]: Int32
9
Constant 0xff
I[255, 255]: Int32
10
BitAnd ← Unbox#6, Constant#9
I[0, 255]: Int32
11
Constant 0x2
I[2, 2]: Int32
12
Ursh ← Unbox#6, Constant#11
I[0, 1073741823]: Int32
13
Add ← BitAnd#10, Ursh#12 [int32]
I[0, 1073742078]: Int32
14
BitNot ← Unbox#6
I[-2147483648, 2147483647]: Int32
15
Sub ← Add#13, BitNot#14 [int32]
I[-2147483648, 2147483647]: Int32 (t)
16
BitXor ← Rsh#8, Sub#15
I[-2147483648, 2147483647]: Int32
17
BitOr ← Lsh#7, BitXor#16
I[-2147483648, 2147483647]: Int32
18
Box ← BitOr#17
Value
19
Return ← Box#18
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant 0x1
I[1, 1]: Int32
6
Unbox Parameter#1 to Int32 (fallible)
Int32
7
Lsh ← Unbox#6, Constant#5
I[-2147483648, 2147483647]: Int32
8
Rsh ← Unbox#6, Constant#5
I[-1073741824, 1073741823]: Int32
9
Constant 0xff
I[255, 255]: Int32
10
BitAnd ← Unbox#6, Constant#9
I[0, 255]: Int32
11
Constant 0x2
I[2, 2]: Int32
12
Ursh ← Unbox#6, Constant#11
I[0, 1073741823]: Int32
13
Add ← BitAnd#10, Ursh#12 [int32]
I[0, 1073742078]: Int32
14
BitNot ← Unbox#6
I[-2147483648, 2147483647]: Int32
15
Sub ← Add#13, BitNot#14 [int32]
I[-2147483648, 2147483647]: Int32 (t)
16
BitXor ← Rsh#8, Sub#15
I[-2147483648, 2147483647]: Int32
17
BitOr ← Lsh#7, BitXor#16
I[-2147483648, 2147483647]: Int32
18
Box ← BitOr#17
Value
19
Return ← Box#18
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28540
String
29
Bail
30
UnreachableResult
Value
31
Goto → block 2
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
47
UnreachableResult
Value
48
Bail
49
UnreachableResult
Value
50
Goto → block 4
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant shape at 104289c64f00
Shape
68
NewArrayObject ← Constant#67
Object
69
Goto → block 10
Block 9
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0x0
Int32
74
Bail
75
UnreachableResult
Value
76
Goto → block 10
Block 10
77
Phi ← UnreachableResult#75, NewArrayObject#68
Value
78
Constant 0x0
Int32
79
Constant 0x0
Int32
92
Goto → block 11
Block 11 (loop header)
80
Phi ← Constant#2, Constant#2
Value
81
Phi ← Constant#2, Constant#2
Value
82
Phi ← Parameter#0, Parameter#0
Value
83
Phi ← Parameter#1, Parameter#1
Value
84
Phi ← Unbox#9, Unbox#9
Value
85
Phi ← MinMax#18, MinMax#18
Value
86
Phi ← Phi#60, Phi#60
Value
87
Phi ← Phi#77, Phi#77
Value
88
Phi ← Constant#78, Add#141
Value
89
Phi ← Constant#79, Phi#137
Value
90
Phi ← Constant#2, Phi#138
Value
91
Phi ← Parameter#0, Parameter#0
Value
93
InterruptCheck
94
Unbox Phi#88 to Int32 (fallible)
Int32
95
Unbox Phi#85 to Int32 (fallible)
Int32
96
Compare ← Unbox#94, Unbox#95 Lt
Bool
97
Test ← Compare#96 → block 12, block 18
1
0
Block 12
98
Unbox Phi#84 to Object (fallible)
Object
99
Unbox Phi#88 to Int32 (fallible)
Int32
100
GuardShape ← Unbox#98
Object
101
Elements ← GuardShape#100
Elements
102
InitializedLength ← Elements#101
Int32
103
BoundsCheck ← Unbox#99, InitializedLength#102
Int32
104
SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102
Int32
105
GuardElementNotHole ← Elements#101, SpectreMaskIndex#104
106
Constant true
Bool
107
Test ← Constant#106 → block 13, block 17
1
0
Block 13
108
Unbox Phi#84 to Object (fallible)
Object
109
Unbox Phi#88 to Int32 (fallible)
Int32
110
GuardShape ← Unbox#108
Object
111
Elements ← GuardShape#110
Elements
112
InitializedLength ← Elements#111
Int32
113
BoundsCheck ← Unbox#109, InitializedLength#112
Int32
114
SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112
Int32
115
GuardElementsArePacked ← Elements#111
116
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
117
Constant 0x3
Int32
118
Unbox Phi#83 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
121
Goto → block 14
Block 14
122
Constant undefined
Undefined
123
Constant 0x32
Int32
124
Unbox LoadElement#116 to Double (fallible)
Double
125
Compare ← Unbox#124, Constant#123 Gt
Bool
127
Goto → block 15
Block 15
128
Test ← Compare#125 → block 16, block 17
1
0
Block 16
129
Unbox Phi#89 to Int32 (fallible)
Int32
130
Constant 0x1
Int32
131
Add ← Unbox#129, Constant#130 [int32]
Int32
132
Unbox Phi#87 to Object (fallible)
Object
133
GuardShape ← Unbox#132
Object
134
Elements ← GuardShape#133
Elements
135
StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116
136
Goto → block 17
Block 17 (backedge)
137
Phi ← Add#131, Phi#89, Phi#89
Value
138
Phi ← LoadElement#116, Phi#90, LoadElement#116
Value
139
Unbox Phi#88 to Int32 (fallible)
Int32
140
Constant 0x1
Int32
141
Add ← Unbox#139, Constant#140 [int32]
Int32
142
Goto → block 11
Block 18
143
Return ← Phi#87
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28540
String
29
Bail
146
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
145
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant shape at 104289c64f00
Shape
68
NewArrayObject ← Constant#67
Object
69
Goto → block 10
Block 9
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0x0
Int32
74
Bail
144
Unreachable
Block 10
77
Phi ← NewArrayObject#68
Value
78
Constant 0x0
Int32
79
Constant 0x0
Int32
92
Goto → block 11
Block 11 (loop header)
80
Phi ← Constant#2, Constant#2
Value
81
Phi ← Constant#2, Constant#2
Value
82
Phi ← Parameter#0, Parameter#0
Value
83
Phi ← Parameter#1, Parameter#1
Value
84
Phi ← Unbox#9, Unbox#9
Value
85
Phi ← MinMax#18, MinMax#18
Value
86
Phi ← Phi#60, Phi#60
Value
87
Phi ← Phi#77, Phi#77
Value
88
Phi ← Constant#78, Add#141
Value
89
Phi ← Constant#79, Phi#137
Value
90
Phi ← Constant#2, Phi#138
Value
91
Phi ← Parameter#0, Parameter#0
Value
93
InterruptCheck
94
Unbox Phi#88 to Int32 (fallible)
Int32
95
Unbox Phi#85 to Int32 (fallible)
Int32
96
Compare ← Unbox#94, Unbox#95 Lt
Bool
97
Test ← Compare#96 → block 12, block 18
1
0
Block 12
98
Unbox Phi#84 to Object (fallible)
Object
99
Unbox Phi#88 to Int32 (fallible)
Int32
100
GuardShape ← Unbox#98
Object
101
Elements ← GuardShape#100
Elements
102
InitializedLength ← Elements#101
Int32
103
BoundsCheck ← Unbox#99, InitializedLength#102
Int32
104
SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102
Int32
105
GuardElementNotHole ← Elements#101, SpectreMaskIndex#104
106
Constant true
Bool
107
Test ← Constant#106 → block 13, block 17
1
0
Block 13
108
Unbox Phi#84 to Object (fallible)
Object
109
Unbox Phi#88 to Int32 (fallible)
Int32
110
GuardShape ← Unbox#108
Object
111
Elements ← GuardShape#110
Elements
112
InitializedLength ← Elements#111
Int32
113
BoundsCheck ← Unbox#109, InitializedLength#112
Int32
114
SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112
Int32
115
GuardElementsArePacked ← Elements#111
116
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
117
Constant 0x3
Int32
118
Unbox Phi#83 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
121
Goto → block 14
Block 14
122
Constant undefined
Undefined
123
Constant 0x32
Int32
124
Unbox LoadElement#116 to Double (fallible)
Double
125
Compare ← Unbox#124, Constant#123 Gt
Bool
127
Goto → block 15
Block 15
128
Test ← Compare#125 → block 16, block 17
1
0
Block 16
129
Unbox Phi#89 to Int32 (fallible)
Int32
130
Constant 0x1
Int32
131
Add ← Unbox#129, Constant#130 [int32]
Int32
132
Unbox Phi#87 to Object (fallible)
Object
133
GuardShape ← Unbox#132
Object
134
Elements ← GuardShape#133
Elements
135
StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116
136
Goto → block 17
Block 17 (backedge)
137
Phi ← Add#131, Phi#89, Phi#89
Value
138
Phi ← LoadElement#116, Phi#90, LoadElement#116
Value
139
Unbox Phi#88 to Int32 (fallible)
Int32
140
Constant 0x1
Int32
141
Add ← Unbox#139, Constant#140 [int32]
Int32
142
Goto → block 11
Block 18
143
Return ← Phi#87
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28540
String
29
Bail
146
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
145
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant shape at 104289c64f00
Shape
68
NewArrayObject ← Constant#67
Object
69
Goto → block 10
Block 9
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0x0
Int32
74
Bail
144
Unreachable
Block 10
77
Phi ← NewArrayObject#68
Value
78
Constant 0x0
Int32
79
Constant 0x0
Int32
92
Goto → block 11
Block 11 (loop header)
80
Phi ← Constant#2, Constant#2
Value
81
Phi ← Constant#2, Constant#2
Value
82
Phi ← Parameter#0, Parameter#0
Value
83
Phi ← Parameter#1, Parameter#1
Value
84
Phi ← Unbox#9, Unbox#9
Value
85
Phi ← MinMax#18, MinMax#18
Value
86
Phi ← Phi#60, Phi#60
Value
87
Phi ← Phi#77, Phi#77
Value
88
Phi ← Constant#78, Add#141
Value
89
Phi ← Constant#79, Phi#137
Value
90
Phi ← Constant#2, Phi#138
Value
91
Phi ← Parameter#0, Parameter#0
Value
93
InterruptCheck
94
Unbox Phi#88 to Int32 (fallible)
Int32
95
Unbox Phi#85 to Int32 (fallible)
Int32
96
Compare ← Unbox#94, Unbox#95 Lt
Bool
97
Test ← Compare#96 → block 12, block 18
1
0
Block 12
98
Unbox Phi#84 to Object (fallible)
Object
99
Unbox Phi#88 to Int32 (fallible)
Int32
100
GuardShape ← Unbox#98
Object
101
Elements ← GuardShape#100
Elements
102
InitializedLength ← Elements#101
Int32
103
BoundsCheck ← Unbox#99, InitializedLength#102
Int32
104
SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102
Int32
105
GuardElementNotHole ← Elements#101, SpectreMaskIndex#104
106
Constant true
Bool
107
Test ← Constant#106 → block 13, block 17
1
0
Block 13
108
Unbox Phi#84 to Object (fallible)
Object
109
Unbox Phi#88 to Int32 (fallible)
Int32
110
GuardShape ← Unbox#108
Object
111
Elements ← GuardShape#110
Elements
112
InitializedLength ← Elements#111
Int32
113
BoundsCheck ← Unbox#109, InitializedLength#112
Int32
114
SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112
Int32
115
GuardElementsArePacked ← Elements#111
116
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
117
Constant 0x3
Int32
118
Unbox Phi#83 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
121
Goto → block 14
Block 14
122
Constant undefined
Undefined
123
Constant 0x32
Int32
124
Unbox LoadElement#116 to Double (fallible)
Double
125
Compare ← Unbox#124, Constant#123 Gt
Bool
127
Goto → block 15
Block 15
128
Test ← Compare#125 → block 16, block 17
1
0
Block 16
129
Unbox Phi#89 to Int32 (fallible)
Int32
130
Constant 0x1
Int32
131
Add ← Unbox#129, Constant#130 [int32]
Int32
132
Unbox Phi#87 to Object (fallible)
Object
133
GuardShape ← Unbox#132
Object
134
Elements ← GuardShape#133
Elements
135
StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116
136
Goto → block 17
Block 17 (backedge)
137
Phi ← Add#131, Phi#89, Phi#89
Value
138
Phi ← LoadElement#116, Phi#90, LoadElement#116
Value
139
Unbox Phi#88 to Int32 (fallible)
Int32
140
Constant 0x1
Int32
141
Add ← Unbox#139, Constant#140 [int32]
Int32
142
Goto → block 11
Block 18
143
Return ← Phi#87
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28540
String
29
Bail
146
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
145
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant shape at 104289c64f00
Shape
68
NewArrayObject ← Constant#67
Object
69
Goto → block 10
Block 9
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0x0
Int32
74
Bail
144
Unreachable
Block 10
77
Phi ← NewArrayObject#68
Value
78
Constant 0x0
Int32
79
Constant 0x0
Int32
92
Goto → block 11
Block 11 (loop header)
80
Phi ← Constant#2, Constant#2
Value
81
Phi ← Constant#2, Constant#2
Value
82
Phi ← Parameter#0, Parameter#0
Value
83
Phi ← Parameter#1, Parameter#1
Value
84
Phi ← Unbox#9, Unbox#9
Value
85
Phi ← MinMax#18, MinMax#18
Value
86
Phi ← Phi#60, Phi#60
Value
87
Phi ← Phi#77, Phi#77
Value
88
Phi ← Constant#78, Add#141
Value
89
Phi ← Constant#79, Phi#137
Value
90
Phi ← Constant#2, Phi#138
Value
91
Phi ← Parameter#0, Parameter#0
Value
93
InterruptCheck
94
Unbox Phi#88 to Int32 (fallible)
Int32
95
Unbox Phi#85 to Int32 (fallible)
Int32
96
Compare ← Unbox#94, Unbox#95 Lt
Bool
97
Test ← Compare#96 → block 12, block 18
1
0
Block 12
98
Unbox Phi#84 to Object (fallible)
Object
99
Unbox Phi#88 to Int32 (fallible)
Int32
100
GuardShape ← Unbox#98
Object
101
Elements ← GuardShape#100
Elements
102
InitializedLength ← Elements#101
Int32
103
BoundsCheck ← Unbox#99, InitializedLength#102
Int32
104
SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102
Int32
105
GuardElementNotHole ← Elements#101, SpectreMaskIndex#104
106
Constant true
Bool
107
Test ← Constant#106 → block 13, block 17
1
0
Block 13
108
Unbox Phi#84 to Object (fallible)
Object
109
Unbox Phi#88 to Int32 (fallible)
Int32
110
GuardShape ← Unbox#108
Object
111
Elements ← GuardShape#110
Elements
112
InitializedLength ← Elements#111
Int32
113
BoundsCheck ← Unbox#109, InitializedLength#112
Int32
114
SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112
Int32
115
GuardElementsArePacked ← Elements#111
116
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
117
Constant 0x3
Int32
118
Unbox Phi#83 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
121
Goto → block 14
Block 14
122
Constant undefined
Undefined
123
Constant 0x32
Int32
124
Unbox LoadElement#116 to Double (fallible)
Double
125
Compare ← Unbox#124, Constant#123 Gt
Bool
127
Goto → block 15
Block 15
128
Test ← Compare#125 → block 16, block 17
1
0
Block 16
129
Unbox Phi#89 to Int32 (fallible)
Int32
130
Constant 0x1
Int32
131
Add ← Unbox#129, Constant#130 [int32]
Int32
132
Unbox Phi#87 to Object (fallible)
Object
133
GuardShape ← Unbox#132
Object
134
Elements ← GuardShape#133
Elements
135
StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116
136
Goto → block 17
Block 17 (backedge)
137
Phi ← Add#131, Phi#89, Phi#89
Value
138
Phi ← LoadElement#116, Phi#90, LoadElement#116
Value
139
Unbox Phi#88 to Int32 (fallible)
Int32
140
Constant 0x1
Int32
141
Add ← Unbox#139, Constant#140 [int32]
Int32
142
Goto → block 11
Block 18
143
Return ← Phi#87
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28540
String
29
Bail
146
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
145
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant shape at 104289c64f00
Shape
68
NewArrayObject ← Constant#67
Object
69
Goto → block 10
Block 9
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0x0
Int32
74
Bail
144
Unreachable
Block 10
77
Phi ← NewArrayObject#68
Value
78
Constant 0x0
Int32
79
Constant 0x0
Int32
92
Goto → block 11
Block 11 (loop header)
80
Phi ← Constant#2, Constant#2
Value
81
Phi ← Constant#2, Constant#2
Value
82
Phi ← Parameter#0, Parameter#0
Value
83
Phi ← Parameter#1, Parameter#1
Value
84
Phi ← Unbox#9, Unbox#9
Value
85
Phi ← MinMax#18, MinMax#18
Value
86
Phi ← Phi#60, Phi#60
Value
87
Phi ← Phi#77, Phi#77
Value
88
Phi ← Constant#78, Add#141
Value
89
Phi ← Constant#79, Phi#137
Value
90
Phi ← Constant#2, Phi#138
Value
91
Phi ← Parameter#0, Parameter#0
Value
93
InterruptCheck
94
Unbox Phi#88 to Int32 (fallible)
Int32
95
Unbox Phi#85 to Int32 (fallible)
Int32
96
Compare ← Unbox#94, Unbox#95 Lt
Bool
97
Test ← Compare#96 → block 12, block 18
1
0
Block 12
98
Unbox Phi#84 to Object (fallible)
Object
99
Unbox Phi#88 to Int32 (fallible)
Int32
100
GuardShape ← Unbox#98
Object
101
Elements ← GuardShape#100
Elements
102
InitializedLength ← Elements#101
Int32
103
BoundsCheck ← Unbox#99, InitializedLength#102
Int32
104
SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102
Int32
105
GuardElementNotHole ← Elements#101, SpectreMaskIndex#104
106
Constant true
Bool
107
Test ← Constant#106 → block 13, block 17
1
0
Block 13
108
Unbox Phi#84 to Object (fallible)
Object
109
Unbox Phi#88 to Int32 (fallible)
Int32
110
GuardShape ← Unbox#108
Object
111
Elements ← GuardShape#110
Elements
112
InitializedLength ← Elements#111
Int32
113
BoundsCheck ← Unbox#109, InitializedLength#112
Int32
114
SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112
Int32
115
GuardElementsArePacked ← Elements#111
116
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
117
Constant 0x3
Int32
118
Unbox Phi#83 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
121
Goto → block 14
Block 14
122
Constant undefined
Undefined
123
Constant 0x32
Int32
124
Unbox LoadElement#116 to Double (fallible)
Double
125
Compare ← Unbox#124, Constant#123 Gt
Bool
127
Goto → block 15
Block 15
128
Test ← Compare#125 → block 16, block 17
1
0
Block 16
129
Unbox Phi#89 to Int32 (fallible)
Int32
130
Constant 0x1
Int32
131
Add ← Unbox#129, Constant#130 [int32]
Int32
132
Unbox Phi#87 to Object (fallible)
Object
133
GuardShape ← Unbox#132
Object
134
Elements ← GuardShape#133
Elements
135
StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116
136
Goto → block 17
Block 17 (backedge)
137
Phi ← Add#131, Phi#89, Phi#89
Value
138
Phi ← LoadElement#116, Phi#90, LoadElement#116
Value
139
Unbox Phi#88 to Int32 (fallible)
Int32
140
Constant 0x1
Int32
141
Add ← Unbox#139, Constant#140 [int32]
Int32
142
Goto → block 11
Block 18
143
Return ← Phi#87
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28540
String
29
Bail
146
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
145
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant shape at 104289c64f00
Shape
68
NewArrayObject ← Constant#67
Object
69
Goto → block 10
Block 9
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0x0
Int32
74
Bail
144
Unreachable
Block 10
77
Phi ← NewArrayObject#68
Value
78
Constant 0x0
Int32
79
Constant 0x0
Int32
92
Goto → block 11
Block 11 (loop header)
80
Phi ← Constant#2, Constant#2
Value
81
Phi ← Constant#2, Constant#2
Value
82
Phi ← Parameter#0, Parameter#0
Value
83
Phi ← Parameter#1, Parameter#1
Value
84
Phi ← Unbox#9, Unbox#9
Value
85
Phi ← MinMax#18, MinMax#18
Value
86
Phi ← Phi#60, Phi#60
Value
87
Phi ← Phi#77, Phi#77
Value
88
Phi ← Constant#78, Add#141
Value
89
Phi ← Constant#79, Phi#137
Value
90
Phi ← Constant#2, Phi#138
Value
91
Phi ← Parameter#0, Parameter#0
Value
93
InterruptCheck
94
Unbox Phi#88 to Int32 (fallible)
Int32
95
Unbox Phi#85 to Int32 (fallible)
Int32
96
Compare ← Unbox#94, Unbox#95 Lt
Bool
97
Test ← Compare#96 → block 12, block 18
1
0
Block 12
98
Unbox Phi#84 to Object (fallible)
Object
99
Unbox Phi#88 to Int32 (fallible)
Int32
100
GuardShape ← Unbox#98
Object
101
Elements ← GuardShape#100
Elements
102
InitializedLength ← Elements#101
Int32
103
BoundsCheck ← Unbox#99, InitializedLength#102
Int32
104
SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102
Int32
105
GuardElementNotHole ← Elements#101, SpectreMaskIndex#104
106
Constant true
Bool
107
Test ← Constant#106 → block 13, block 19
1
0
Block 19 (split edge)
147
Goto → block 17
Block 13
108
Unbox Phi#84 to Object (fallible)
Object
109
Unbox Phi#88 to Int32 (fallible)
Int32
110
GuardShape ← Unbox#108
Object
111
Elements ← GuardShape#110
Elements
112
InitializedLength ← Elements#111
Int32
113
BoundsCheck ← Unbox#109, InitializedLength#112
Int32
114
SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112
Int32
115
GuardElementsArePacked ← Elements#111
116
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
117
Constant 0x3
Int32
118
Unbox Phi#83 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
121
Goto → block 14
Block 14
122
Constant undefined
Undefined
123
Constant 0x32
Int32
124
Unbox LoadElement#116 to Double (fallible)
Double
125
Compare ← Unbox#124, Constant#123 Gt
Bool
127
Goto → block 15
Block 15
128
Test ← Compare#125 → block 16, block 20
1
0
Block 20 (split edge)
148
Goto → block 17
Block 16
129
Unbox Phi#89 to Int32 (fallible)
Int32
130
Constant 0x1
Int32
131
Add ← Unbox#129, Constant#130 [int32]
Int32
132
Unbox Phi#87 to Object (fallible)
Object
133
GuardShape ← Unbox#132
Object
134
Elements ← GuardShape#133
Elements
135
StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116
136
Goto → block 17
Block 17 (backedge)
137
Phi ← Add#131, Phi#89, Phi#89
Value
138
Phi ← LoadElement#116, Phi#90, LoadElement#116
Value
139
Unbox Phi#88 to Int32 (fallible)
Int32
140
Constant 0x1
Int32
141
Add ← Unbox#139, Constant#140 [int32]
Int32
142
Goto → block 11
Block 18
143
Return ← Phi#87
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28540
String
29
Bail
146
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
145
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant shape at 104289c64f00
Shape
68
NewArrayObject ← Constant#67
Object
69
Goto → block 10
Block 9
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0x0
Int32
74
Bail
144
Unreachable
Block 10
77
Phi ← NewArrayObject#68
Value
78
Constant 0x0
Int32
79
Constant 0x0
Int32
92
Goto → block 11
Block 11 (loop header)
80
Phi ← Constant#2, Constant#2
Value
81
Phi ← Constant#2, Constant#2
Value
82
Phi ← Parameter#0, Parameter#0
Value
83
Phi ← Parameter#1, Parameter#1
Value
84
Phi ← Unbox#9, Unbox#9
Value
85
Phi ← MinMax#18, MinMax#18
Value
86
Phi ← Phi#60, Phi#60
Value
87
Phi ← Phi#77, Phi#77
Value
88
Phi ← Constant#78, Add#141
Value
89
Phi ← Constant#79, Phi#137
Value
90
Phi ← Constant#2, Phi#138
Value
91
Phi ← Parameter#0, Parameter#0
Value
93
InterruptCheck
94
Unbox Phi#88 to Int32 (fallible)
Int32
95
Unbox Phi#85 to Int32 (fallible)
Int32
96
Compare ← Unbox#94, Unbox#95 Lt
Bool
97
Test ← Compare#96 → block 12, block 20
1
0
Block 12
98
Unbox Phi#84 to Object (fallible)
Object
99
Unbox Phi#88 to Int32 (fallible)
Int32
100
GuardShape ← Unbox#98
Object
101
Elements ← GuardShape#100
Elements
102
InitializedLength ← Elements#101
Int32
103
BoundsCheck ← Unbox#99, InitializedLength#102
Int32
104
SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102
Int32
105
GuardElementNotHole ← Elements#101, SpectreMaskIndex#104
106
Constant true
Bool
107
Test ← Constant#106 → block 14, block 13
1
0
Block 13 (split edge)
147
Goto → block 19
Block 14
108
Unbox Phi#84 to Object (fallible)
Object
109
Unbox Phi#88 to Int32 (fallible)
Int32
110
GuardShape ← Unbox#108
Object
111
Elements ← GuardShape#110
Elements
112
InitializedLength ← Elements#111
Int32
113
BoundsCheck ← Unbox#109, InitializedLength#112
Int32
114
SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112
Int32
115
GuardElementsArePacked ← Elements#111
116
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
117
Constant 0x3
Int32
118
Unbox Phi#83 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
121
Goto → block 15
Block 15
122
Constant undefined
Undefined
123
Constant 0x32
Int32
124
Unbox LoadElement#116 to Double (fallible)
Double
125
Compare ← Unbox#124, Constant#123 Gt
Bool
127
Goto → block 16
Block 16
128
Test ← Compare#125 → block 18, block 17
1
0
Block 17 (split edge)
148
Goto → block 19
Block 18
129
Unbox Phi#89 to Int32 (fallible)
Int32
130
Constant 0x1
Int32
131
Add ← Unbox#129, Constant#130 [int32]
Int32
132
Unbox Phi#87 to Object (fallible)
Object
133
GuardShape ← Unbox#132
Object
134
Elements ← GuardShape#133
Elements
135
StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116
136
Goto → block 19
Block 19 (backedge)
137
Phi ← Add#131, Phi#89, Phi#89
Value
138
Phi ← LoadElement#116, Phi#90, LoadElement#116
Value
139
Unbox Phi#88 to Int32 (fallible)
Int32
140
Constant 0x1
Int32
141
Add ← Unbox#139, Constant#140 [int32]
Int32
142
Goto → block 11
Block 20
143
Return ← Phi#87
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28540
String
29
Bail
146
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
145
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant shape at 104289c64f00
Shape
68
NewArrayObject ← Constant#67
Object
69
Goto → block 10
Block 9
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0x0
Int32
74
Bail
144
Unreachable
Block 10
78
Constant 0x0
Int32
79
Constant 0x0
Int32
92
Goto → block 11
Block 11 (loop header)
88
Phi ← Constant#78, Add#141
Value
89
Phi ← Constant#79, Phi#137
Value
149
Constant magic optimized-out
MagicOptimizedOut
93
InterruptCheck
94
Unbox Phi#88 to Int32 (fallible)
Int32
95
Unbox MinMax#18 to Int32 (fallible)
Int32
96
Compare ← Unbox#94, Unbox#95 Lt
Bool
97
Test ← Compare#96 → block 12, block 20
1
0
Block 12
154
Constant magic optimized-out
MagicOptimizedOut
98
Unbox Unbox#9 to Object (fallible)
Object
99
Unbox Phi#88 to Int32 (fallible)
Int32
100
GuardShape ← Unbox#98
Object
101
Elements ← GuardShape#100
Elements
102
InitializedLength ← Elements#101
Int32
103
BoundsCheck ← Unbox#99, InitializedLength#102
Int32
104
SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102
Int32
105
GuardElementNotHole ← Elements#101, SpectreMaskIndex#104
106
Constant true
Bool
107
Test ← Constant#106 → block 14, block 13
1
0
Block 13 (split edge)
151
Constant magic optimized-out
MagicOptimizedOut
147
Goto → block 19
Block 14
153
Constant magic optimized-out
MagicOptimizedOut
108
Unbox Unbox#9 to Object (fallible)
Object
109
Unbox Phi#88 to Int32 (fallible)
Int32
110
GuardShape ← Unbox#108
Object
111
Elements ← GuardShape#110
Elements
112
InitializedLength ← Elements#111
Int32
113
BoundsCheck ← Unbox#109, InitializedLength#112
Int32
114
SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112
Int32
115
GuardElementsArePacked ← Elements#111
116
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
117
Constant 0x3
Int32
118
Unbox Parameter#1 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
121
Goto → block 15
Block 15
122
Constant undefined
Undefined
123
Constant 0x32
Int32
124
Unbox LoadElement#116 to Double (fallible)
Double
125
Compare ← Unbox#124, Constant#123 Gt
Bool
127
Goto → block 16
Block 16
128
Test ← Compare#125 → block 18, block 17
1
0
Block 17 (split edge)
148
Goto → block 19
Block 18
129
Unbox Phi#89 to Int32 (fallible)
Int32
130
Constant 0x1
Int32
131
Add ← Unbox#129, Constant#130 [int32]
Int32
132
Unbox NewArrayObject#68 to Object (fallible)
Object
133
GuardShape ← Unbox#132
Object
134
Elements ← GuardShape#133
Elements
135
StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116
136
Goto → block 19
Block 19 (backedge)
137
Phi ← Add#131, Phi#89, Phi#89
Value
150
Constant magic optimized-out
MagicOptimizedOut
139
Unbox Phi#88 to Int32 (fallible)
Int32
140
Constant 0x1
Int32
141
Add ← Unbox#139, Constant#140 [int32]
Int32
142
Goto → block 11
Block 20
152
Constant magic optimized-out
MagicOptimizedOut
143
Return ← NewArrayObject#68
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28540
String
29
Bail
146
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
145
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant shape at 104289c64f00
Shape
68
NewArrayObject ← Constant#67
Object
69
Goto → block 10
Block 9
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0x0
Int32
74
Bail
144
Unreachable
Block 10
78
Constant 0x0
Int32
79
Constant 0x0
Int32
92
Goto → block 11
Block 11 (loop header)
88
Phi ← Constant#78, Add#141
Value
89
Phi ← Constant#79, Phi#137
Value
149
Constant magic optimized-out
MagicOptimizedOut
93
InterruptCheck
94
Unbox Phi#88 to Int32 (fallible)
Int32
95
Unbox MinMax#18 to Int32 (fallible)
Int32
96
Compare ← Unbox#94, Unbox#95 Lt
Bool
97
Test ← Compare#96 → block 12, block 20
1
0
Block 12
154
Constant magic optimized-out
MagicOptimizedOut
98
Unbox Unbox#9 to Object (fallible)
Object
99
Unbox Phi#88 to Int32 (fallible)
Int32
100
GuardShape ← Unbox#98
Object
101
Elements ← GuardShape#100
Elements
102
InitializedLength ← Elements#101
Int32
103
BoundsCheck ← Unbox#99, InitializedLength#102
Int32
104
SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102
Int32
105
GuardElementNotHole ← Elements#101, SpectreMaskIndex#104
106
Constant true
Bool
107
Test ← Constant#106 → block 14, block 13
1
0
Block 13 (split edge)
151
Constant magic optimized-out
MagicOptimizedOut
147
Goto → block 19
Block 14
153
Constant magic optimized-out
MagicOptimizedOut
108
Unbox Unbox#9 to Object (fallible)
Object
109
Unbox Phi#88 to Int32 (fallible)
Int32
110
GuardShape ← Unbox#108
Object
111
Elements ← GuardShape#110
Elements
112
InitializedLength ← Elements#111
Int32
113
BoundsCheck ← Unbox#109, InitializedLength#112
Int32
114
SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112
Int32
115
GuardElementsArePacked ← Elements#111
116
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
117
Constant 0x3
Int32
118
Unbox Parameter#1 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
121
Goto → block 15
Block 15
122
Constant undefined
Undefined
123
Constant 0x32
Int32
124
Unbox LoadElement#116 to Double (fallible)
Double
125
Compare ← Unbox#124, Constant#123 Gt
Bool
127
Goto → block 16
Block 16
128
Test ← Compare#125 → block 18, block 17
1
0
Block 17 (split edge)
148
Goto → block 19
Block 18
129
Unbox Phi#89 to Int32 (fallible)
Int32
130
Constant 0x1
Int32
131
Add ← Unbox#129, Constant#130 [int32]
Int32
132
Unbox NewArrayObject#68 to Object (fallible)
Object
133
GuardShape ← Unbox#132
Object
134
Elements ← GuardShape#133
Elements
135
StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116
136
Goto → block 19
Block 19 (backedge)
137
Phi ← Add#131, Phi#89, Phi#89
Value
150
Constant magic optimized-out
MagicOptimizedOut
139
Unbox Phi#88 to Int32 (fallible)
Int32
140
Constant 0x1
Int32
141
Add ← Unbox#139, Constant#140 [int32]
Int32
142
Goto → block 11
Block 20
152
Constant magic optimized-out
MagicOptimizedOut
143
Return ← NewArrayObject#68
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28540
String
29
Bail
146
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
145
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant shape at 104289c64f00
Shape
68
NewArrayObject ← Constant#67
Object
69
Goto → block 10
Block 9
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0x0
Int32
74
Bail
144
Unreachable
Block 10
78
Constant 0x0
Int32
79
Constant 0x0
Int32
92
Goto → block 11
Block 11 (loop header)
88
Phi ← Constant#78, Add#141
Value
89
Phi ← Constant#79, Phi#137
Value
149
Constant magic optimized-out
MagicOptimizedOut
93
InterruptCheck
94
Unbox Phi#88 to Int32 (fallible)
Int32
95
Unbox MinMax#18 to Int32 (fallible)
Int32
96
Compare ← Unbox#94, Unbox#95 Lt
Bool
97
Test ← Compare#96 → block 12, block 20
1
0
Block 12
154
Constant magic optimized-out
MagicOptimizedOut
98
Unbox Unbox#9 to Object (fallible)
Object
99
Unbox Phi#88 to Int32 (fallible)
Int32
100
GuardShape ← Unbox#98
Object
101
Elements ← GuardShape#100
Elements
102
InitializedLength ← Elements#101
Int32
103
BoundsCheck ← Unbox#99, InitializedLength#102
Int32
104
SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102
Int32
105
GuardElementNotHole ← Elements#101, SpectreMaskIndex#104
106
Constant true
Bool
107
Test ← Constant#106 → block 14, block 13
1
0
Block 13 (split edge)
151
Constant magic optimized-out
MagicOptimizedOut
147
Goto → block 19
Block 14
153
Constant magic optimized-out
MagicOptimizedOut
108
Unbox Unbox#9 to Object (fallible)
Object
109
Unbox Phi#88 to Int32 (fallible)
Int32
110
GuardShape ← Unbox#108
Object
111
Elements ← GuardShape#110
Elements
112
InitializedLength ← Elements#111
Int32
113
BoundsCheck ← Unbox#109, InitializedLength#112
Int32
114
SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112
Int32
115
GuardElementsArePacked ← Elements#111
116
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
117
Constant 0x3
Int32
118
Unbox Parameter#1 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
121
Goto → block 15
Block 15
122
Constant undefined
Undefined
123
Constant 0x32
Int32
124
Unbox LoadElement#116 to Double (fallible)
Double
125
Compare ← Unbox#124, Constant#123 Gt
Bool
127
Goto → block 16
Block 16
128
Test ← Compare#125 → block 18, block 17
1
0
Block 17 (split edge)
148
Goto → block 19
Block 18
129
Unbox Phi#89 to Int32 (fallible)
Int32
130
Constant 0x1
Int32
131
Add ← Unbox#129, Constant#130 [int32]
Int32
132
Unbox NewArrayObject#68 to Object (fallible)
Object
133
GuardShape ← Unbox#132
Object
134
Elements ← GuardShape#133
Elements
135
StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116
136
Goto → block 19
Block 19 (backedge)
137
Phi ← Add#131, Phi#89, Phi#89
Value
150
Constant magic optimized-out
MagicOptimizedOut
139
Unbox Phi#88 to Int32 (fallible)
Int32
140
Constant 0x1
Int32
141
Add ← Unbox#139, Constant#140 [int32]
Int32
142
Goto → block 11
Block 20
152
Constant magic optimized-out
MagicOptimizedOut
143
Return ← NewArrayObject#68
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
DebugCheckSelfHosted ← Constant#5
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
11
DebugCheckSelfHosted ← Constant#10
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28540
String
29
Bail
146
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
33
DebugCheckSelfHosted ← Constant#32
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
145
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
59
Goto → block 7
Block 7
60
Phi ← Constant#58, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
DebugCheckSelfHosted ← Constant#61
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant shape at 104289c64f00
Shape
68
NewArrayObject ← Constant#67
Object
69
Goto → block 10
Block 9
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0x0
Int32
74
Bail
144
Unreachable
Block 10
78
Constant 0x0
Int32
79
Constant 0x0
Int32
92
Goto → block 11
Block 11 (loop header)
88
Phi ← Constant#78, Add#141
Value
89
Phi ← Constant#79, Phi#137
Value
149
Constant magic optimized-out
MagicOptimizedOut
93
InterruptCheck
94
Unbox Phi#88 to Int32 (fallible)
Int32
95
Unbox MinMax#18 to Int32 (fallible)
Int32
96
Compare ← Unbox#94, Unbox#95 Lt
Bool
97
Test ← Compare#96 → block 12, block 20
1
0
Block 12
154
Constant magic optimized-out
MagicOptimizedOut
98
Unbox Unbox#9 to Object (fallible)
Object
99
Unbox Phi#88 to Int32 (fallible)
Int32
100
GuardShape ← Unbox#98
Object
101
Elements ← GuardShape#100
Elements
102
InitializedLength ← Elements#101
Int32
103
BoundsCheck ← Unbox#99, InitializedLength#102
Int32
104
SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102
Int32
105
GuardElementNotHole ← Elements#101, SpectreMaskIndex#104
106
Constant true
Bool
107
Test ← Constant#106 → block 14, block 13
1
0
Block 13 (split edge)
151
Constant magic optimized-out
MagicOptimizedOut
147
Goto → block 19
Block 14
153
Constant magic optimized-out
MagicOptimizedOut
108
Unbox Unbox#9 to Object (fallible)
Object
109
Unbox Phi#88 to Int32 (fallible)
Int32
110
GuardShape ← Unbox#108
Object
111
Elements ← GuardShape#110
Elements
112
InitializedLength ← Elements#111
Int32
113
BoundsCheck ← Unbox#109, InitializedLength#112
Int32
114
SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112
Int32
115
GuardElementsArePacked ← Elements#111
116
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
117
Constant 0x3
Int32
118
Unbox Parameter#1 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
121
Goto → block 15
Block 15
122
Constant undefined
Undefined
123
Constant 0x32
Int32
124
Unbox LoadElement#116 to Double (fallible)
Double
125
Compare ← Unbox#124, Constant#123 Gt
Bool
127
Goto → block 16
Block 16
128
Test ← Compare#125 → block 18, block 17
1
0
Block 17 (split edge)
148
Goto → block 19
Block 18
129
Unbox Phi#89 to Int32 (fallible)
Int32
130
Constant 0x1
Int32
131
Add ← Unbox#129, Constant#130 [int32]
Int32
132
Unbox NewArrayObject#68 to Object (fallible)
Object
133
GuardShape ← Unbox#132
Object
134
Elements ← GuardShape#133
Elements
135
StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116
136
Goto → block 19
Block 19 (backedge)
137
Phi ← Add#131, Phi#89, Phi#89
Value
150
Constant magic optimized-out
MagicOptimizedOut
139
Unbox Phi#88 to Int32 (fallible)
Int32
140
Constant 0x1
Int32
141
Add ← Unbox#139, Constant#140 [int32]
Int32
142
Goto → block 11
Block 20
152
Constant magic optimized-out
MagicOptimizedOut
143
Return ← NewArrayObject#68
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
155
Box ← Constant#5
Value
6
DebugCheckSelfHosted ← Box#155
Value
7
Constant undefined
Undefined
8
Constant 0x1
Int32
9
Unbox Parameter#0 to Object (fallible)
Object
10
Constant function ToLength at 104289c6c778
Object
156
Box ← Constant#10
Value
11
DebugCheckSelfHosted ← Box#156
Value
12
Constant undefined
Undefined
13
GuardShape ← Unbox#9
Object
14
Elements ← GuardShape#13
Elements
15
ArrayLength ← Elements#14
Int32
16
Constant 0x1
Int32
17
Constant 0x0
Int32
18
MinMax ← ArrayLength#15, Constant#17 (max)
Int32
19
ArgumentsLength
Int32
20
Constant 0x0
Int32
21
Compare ← ArgumentsLength#19, Constant#20 StrictEq
Bool
22
Test ← Compare#21 → block 1, block 2
1
0
Block 1
23
CallGetIntrinsicValue
Value
24
DebugCheckSelfHosted ← CallGetIntrinsicValue#23
Value
25
Constant undefined
Undefined
26
Constant 0x37
Int32
27
Constant 0x0
Int32
28
Constant string 104289c28540
String
29
Bail
146
Unreachable
Block 2
32
Constant function IsCallable at 104289c6c7b0
Object
157
Box ← Constant#32
Value
33
DebugCheckSelfHosted ← Box#157
Value
34
Constant undefined
Undefined
35
Constant 0x1
Int32
36
IsCallable ← Parameter#1
Bool
37
Test ← IsCallable#36 → block 4, block 3
1
0
Block 3
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0xc
Int32
42
CallGetIntrinsicValue
Value
43
DebugCheckSelfHosted ← CallGetIntrinsicValue#42
Value
44
Constant undefined
Undefined
45
Constant 0x0
Int32
46
Bail
145
Unreachable
Block 4
51
ArgumentsLength
Int32
52
Constant 0x1
Int32
53
Compare ← ArgumentsLength#51, Constant#52 Gt
Bool
54
Test ← Compare#53 → block 5, block 6
1
0
Block 5
55
Constant 0x1
Int32
56
GetFrameArgument ← Constant#55
Value
57
Goto → block 7
Block 6
58
Constant undefined
Undefined
158
Box ← Constant#58
Value
59
Goto → block 7
Block 7
60
Phi ← Box#158, GetFrameArgument#56
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
159
Box ← Constant#61
Value
62
DebugCheckSelfHosted ← Box#159
Value
63
Constant undefined
Undefined
64
Constant 0x1
Int32
65
HasShape ← Unbox#9
Bool
66
Test ← HasShape#65 → block 8, block 9
1
0
Block 8
67
Constant shape at 104289c64f00
Shape
68
NewArrayObject ← Constant#67
Object
69
Goto → block 10
Block 9
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0x0
Int32
74
Bail
144
Unreachable
Block 10
78
Constant 0x0
Int32
79
Constant 0x0
Int32
92
Goto → block 11
Block 11 (loop header)
88
Phi ← Constant#78, Add#141
Int32
89
Phi ← Constant#79, Phi#137
Int32
149
Constant magic optimized-out
MagicOptimizedOut
93
InterruptCheck
160
Box ← Phi#88
Value
94
Unbox Box#160 to Int32 (fallible)
Int32
161
Box ← MinMax#18
Value
95
Unbox Box#161 to Int32 (fallible)
Int32
96
Compare ← Unbox#94, Unbox#95 Lt
Bool
97
Test ← Compare#96 → block 12, block 20
1
0
Block 12
154
Constant magic optimized-out
MagicOptimizedOut
162
Box ← Unbox#9
Value
98
Unbox Box#162 to Object (fallible)
Object
163
Box ← Phi#88
Value
99
Unbox Box#163 to Int32 (fallible)
Int32
100
GuardShape ← Unbox#98
Object
101
Elements ← GuardShape#100
Elements
102
InitializedLength ← Elements#101
Int32
103
BoundsCheck ← Unbox#99, InitializedLength#102
Int32
104
SpectreMaskIndex ← BoundsCheck#103, InitializedLength#102
Int32
105
GuardElementNotHole ← Elements#101, SpectreMaskIndex#104
106
Constant true
Bool
107
Test ← Constant#106 → block 14, block 13
1
0
Block 13 (split edge)
151
Constant magic optimized-out
MagicOptimizedOut
147
Goto → block 19
Block 14
153
Constant magic optimized-out
MagicOptimizedOut
164
Box ← Unbox#9
Value
108
Unbox Box#164 to Object (fallible)
Object
165
Box ← Phi#88
Value
109
Unbox Box#165 to Int32 (fallible)
Int32
110
GuardShape ← Unbox#108
Object
111
Elements ← GuardShape#110
Elements
112
InitializedLength ← Elements#111
Int32
113
BoundsCheck ← Unbox#109, InitializedLength#112
Int32
114
SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112
Int32
115
GuardElementsArePacked ← Elements#111
116
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
117
Constant 0x3
Int32
118
Unbox Parameter#1 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
121
Goto → block 15
Block 15
122
Constant undefined
Undefined
123
Constant 0x32
Int32
124
Unbox LoadElement#116 to Double (fallible)
Double
166
ToDouble ← Constant#123
Double
125
Compare ← Unbox#124, ToDouble#166 Gt
Bool
127
Goto → block 16
Block 16
128
Test ← Compare#125 → block 18, block 17
1
0
Block 17 (split edge)
148
Goto → block 19
Block 18
167
Box ← Phi#89
Value
129
Unbox Box#167 to Int32 (fallible)
Int32
130
Constant 0x1
Int32
131
Add ← Unbox#129, Constant#130 [int32]
Int32
168
Box ← NewArrayObject#68
Value
132
Unbox Box#168 to Object (fallible)
Object
133
GuardShape ← Unbox#132
Object
134
Elements ← GuardShape#133
Elements
135
StoreElementHole ← GuardShape#133, Elements#134, Unbox#129, LoadElement#116
136
Goto → block 19
Block 19 (backedge)
137
Phi ← Add#131, Phi#89, Phi#89
Int32
150
Constant magic optimized-out
MagicOptimizedOut
169
Box ← Phi#88
Value
139
Unbox Box#169 to Int32 (fallible)
Int32
140
Constant 0x1
Int32
141
Add ← Unbox#139, Constant#140 [int32]
Int32
142
Goto → block 11
Block 20
152
Constant magic optimized-out
MagicOptimizedOut
170
Box ← NewArrayObject#68
Value
143
Return ← Box#170
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Constant undefined
Undefined
9
Constant 0x1
Int32
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
14
Constant undefined
Undefined
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
Int32
18
Constant 0x1
Int32
19
Constant 0x0
Int32
20
MinMax ← ArrayLength#17, Constant#19 (max)
Int32
21
ArgumentsLength
Int32
22
Constant 0x0
Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
27
Constant undefined
Undefined
28
Constant 0x37
Int32
29
Constant 0x0
Int32
30
Constant string 104289c28540
String
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
36
Constant undefined
Undefined
37
Constant 0x1
Int32
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
42
Constant undefined
Undefined
43
Constant 0xc
Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
46
Constant undefined
Undefined
47
Constant 0x0
Int32
48
Bail
49
Unreachable
Block 4
50
ArgumentsLength
Int32
51
Constant 0x1
Int32
52
Compare ← ArgumentsLength#50, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
54
Constant 0x1
Int32
55
GetFrameArgument ← Constant#54
Value
56
Goto → block 7
Block 6
57
Constant undefined
Undefined
58
Box ← Constant#57
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
64
Constant undefined
Undefined
65
Constant 0x1
Int32
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant shape at 104289c64f00
Shape
69
NewArrayObject ← Constant#68
Object
70
Goto → block 10
Block 9
71
CallGetIntrinsicValue
Value
72
DebugCheckSelfHosted ← CallGetIntrinsicValue#71
Value
73
Constant undefined
Undefined
74
Constant 0x0
Int32
75
Bail
76
Unreachable
Block 10
77
Constant 0x0
Int32
78
Constant 0x0
Int32
79
Goto → block 11
Block 11 (loop header)
80
Phi ← Constant#77, Add#145
Int32
81
Phi ← Constant#78, Phi#140
Int32
82
Constant magic optimized-out
MagicOptimizedOut
83
InterruptCheck
84
Box ← Phi#80
Value
85
Unbox Box#84 to Int32 (fallible)
Int32
86
Box ← MinMax#20
Value
87
Unbox Box#86 to Int32 (fallible)
Int32
88
Compare ← Unbox#85, Unbox#87 Lt
Bool
89
Test ← Compare#88 → block 12, block 20
1
0
Block 12
90
Constant magic optimized-out
MagicOptimizedOut
91
Box ← Unbox#10
Value
92
Unbox Box#91 to Object (fallible)
Object
93
Box ← Phi#80
Value
94
Unbox Box#93 to Int32 (fallible)
Int32
95
GuardShape ← Unbox#92
Object
96
Elements ← GuardShape#95
Elements
97
InitializedLength ← Elements#96
Int32
98
BoundsCheck ← Unbox#94, InitializedLength#97
Int32
99
SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97
Int32
100
GuardElementNotHole ← Elements#96, SpectreMaskIndex#99
101
Constant true
Bool
102
Test ← Constant#101 → block 14, block 13
1
0
Block 13 (split edge)
103
Constant magic optimized-out
MagicOptimizedOut
104
Goto → block 19
Block 14
105
Constant magic optimized-out
MagicOptimizedOut
106
Box ← Unbox#10
Value
107
Unbox Box#106 to Object (fallible)
Object
108
Box ← Phi#80
Value
109
Unbox Box#108 to Int32 (fallible)
Int32
110
GuardShape ← Unbox#107
Object
111
Elements ← GuardShape#110
Elements
112
InitializedLength ← Elements#111
Int32
113
BoundsCheck ← Unbox#109, InitializedLength#112
Int32
114
SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112
Int32
115
GuardElementsArePacked ← Elements#111
116
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
117
Constant 0x3
Int32
118
Unbox Parameter#1 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
121
Goto → block 15
Block 15
122
Constant undefined
Undefined
123
Constant 0x32
Int32
124
Unbox LoadElement#116 to Double (fallible)
Double
125
ToDouble ← Constant#123
Double
126
Compare ← Unbox#124, ToDouble#125 Gt
Bool
127
Goto → block 16
Block 16
128
Test ← Compare#126 → block 18, block 17
1
0
Block 17 (split edge)
129
Goto → block 19
Block 18
130
Box ← Phi#81
Value
131
Unbox Box#130 to Int32 (fallible)
Int32
132
Constant 0x1
Int32
133
Add ← Unbox#131, Constant#132 [int32]
Int32
134
Box ← NewArrayObject#69
Value
135
Unbox Box#134 to Object (fallible)
Object
136
GuardShape ← Unbox#135
Object
137
Elements ← GuardShape#136
Elements
138
StoreElementHole ← GuardShape#136, Elements#137, Unbox#131, LoadElement#116
139
Goto → block 19
Block 19 (backedge)
140
Phi ← Add#133, Phi#81, Phi#81
Int32
141
Constant magic optimized-out
MagicOptimizedOut
142
Box ← Phi#80
Value
143
Unbox Box#142 to Int32 (fallible)
Int32
144
Constant 0x1
Int32
145
Add ← Unbox#143, Constant#144 [int32]
Int32
146
Goto → block 11
Block 20
147
Constant magic optimized-out
MagicOptimizedOut
148
Box ← NewArrayObject#69
Value
149
Return ← Box#148
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Constant undefined
Undefined
9
Constant 0x1
Int32
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
14
Constant undefined
Undefined
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
Int32
18
Constant 0x1
Int32
19
Constant 0x0
Int32
20
MinMax ← ArrayLength#17, Constant#19 (max)
Int32
21
ArgumentsLength
Int32
22
Constant 0x0
Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
27
Constant undefined
Undefined
28
Constant 0x37
Int32
29
Constant 0x0
Int32
30
Constant string 104289c28540
String
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
36
Constant undefined
Undefined
37
Constant 0x1
Int32
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
42
Constant undefined
Undefined
43
Constant 0xc
Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
46
Constant undefined
Undefined
47
Constant 0x0
Int32
48
Bail
49
Unreachable
Block 4
50
ArgumentsLength
Int32
51
Constant 0x1
Int32
52
Compare ← ArgumentsLength#50, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
54
Constant 0x1
Int32
55
GetFrameArgument ← Constant#54
Value
56
Goto → block 7
Block 6
57
Constant undefined
Undefined
58
Box ← Constant#57
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
64
Constant undefined
Undefined
65
Constant 0x1
Int32
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant shape at 104289c64f00
Shape
69
NewArrayObject ← Constant#68
Object
70
Goto → block 10
Block 9
71
CallGetIntrinsicValue
Value
72
DebugCheckSelfHosted ← CallGetIntrinsicValue#71
Value
73
Constant undefined
Undefined
74
Constant 0x0
Int32
75
Bail
76
Unreachable
Block 10
77
Constant 0x0
Int32
78
Constant 0x0
Int32
79
Goto → block 11
Block 11 (loop header)
80
Phi ← Constant#77, Add#145
Int32
81
Phi ← Constant#78, Phi#140
Int32
82
Constant magic optimized-out
MagicOptimizedOut
83
InterruptCheck
84
Box ← Phi#80
Value
85
Unbox Box#84 to Int32 (fallible)
Int32
86
Box ← MinMax#20
Value
87
Unbox Box#86 to Int32 (fallible)
Int32
88
Compare ← Unbox#85, Unbox#87 Lt
Bool
89
Test ← Compare#88 → block 12, block 20
1
0
Block 12
90
Constant magic optimized-out
MagicOptimizedOut
91
Box ← Unbox#10
Value
92
Unbox Box#91 to Object (fallible)
Object
93
Box ← Phi#80
Value
94
Unbox Box#93 to Int32 (fallible)
Int32
95
GuardShape ← Unbox#92
Object
96
Elements ← GuardShape#95
Elements
97
InitializedLength ← Elements#96
Int32
98
BoundsCheck ← Unbox#94, InitializedLength#97
Int32
99
SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97
Int32
100
GuardElementNotHole ← Elements#96, SpectreMaskIndex#99
101
Constant true
Bool
102
Test ← Constant#101 → block 14, block 13
1
0
Block 13 (split edge)
103
Constant magic optimized-out
MagicOptimizedOut
104
Goto → block 19
Block 14
105
Constant magic optimized-out
MagicOptimizedOut
106
Box ← Unbox#10
Value
107
Unbox Box#106 to Object (fallible)
Object
108
Box ← Phi#80
Value
109
Unbox Box#108 to Int32 (fallible)
Int32
110
GuardShape ← Unbox#107
Object
111
Elements ← GuardShape#110
Elements
112
InitializedLength ← Elements#111
Int32
113
BoundsCheck ← Unbox#109, InitializedLength#112
Int32
114
SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112
Int32
115
GuardElementsArePacked ← Elements#111
116
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
117
Constant 0x3
Int32
118
Unbox Parameter#1 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
121
Goto → block 15
Block 15
122
Constant undefined
Undefined
123
Constant 0x32
Int32
124
Unbox LoadElement#116 to Double (fallible)
Double
125
ToDouble ← Constant#123
Double
126
Compare ← Unbox#124, ToDouble#125 Gt
Bool
127
Goto → block 16
Block 16
128
Test ← Compare#126 → block 18, block 17
1
0
Block 17 (split edge)
129
Goto → block 19
Block 18
130
Box ← Phi#81
Value
131
Unbox Box#130 to Int32 (fallible)
Int32
132
Constant 0x1
Int32
133
Add ← Unbox#131, Constant#132 [int32]
Int32
134
Box ← NewArrayObject#69
Value
135
Unbox Box#134 to Object (fallible)
Object
136
GuardShape ← Unbox#135
Object
137
Elements ← GuardShape#136
Elements
138
StoreElementHole ← GuardShape#136, Elements#137, Unbox#131, LoadElement#116
139
Goto → block 19
Block 19 (backedge)
140
Phi ← Add#133, Phi#81, Phi#81
Int32
141
Constant magic optimized-out
MagicOptimizedOut
142
Box ← Phi#80
Value
143
Unbox Box#142 to Int32 (fallible)
Int32
144
Constant 0x1
Int32
145
Add ← Unbox#143, Constant#144 [int32]
Int32
146
Goto → block 11
Block 20
147
Constant magic optimized-out
MagicOptimizedOut
148
Box ← NewArrayObject#69
Value
149
Return ← Box#148
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
Int32
21
ArgumentsLength
Int32
22
Constant 0x0
Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
Int32
52
Compare ← ArgumentsLength#21, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant shape at 104289c64f00
Shape
69
NewArrayObject ← Constant#68
Object
70
Goto → block 10
Block 9
71
CallGetIntrinsicValue
Value
72
DebugCheckSelfHosted ← CallGetIntrinsicValue#71
Value
75
Bail
76
Unreachable
Block 10
79
Goto → block 11
Block 11 (loop header)
80
Phi ← Constant#22, Add#145
Int32
81
Phi ← Constant#22, Phi#140
Int32
82
Constant magic optimized-out
MagicOptimizedOut
83
InterruptCheck
88
Compare ← Phi#80, ArrayLength#17 Lt
Bool
89
Test ← Compare#88 → block 12, block 19
1
0
Block 12
95
GuardShape ← Unbox#10
Object
96
Elements ← GuardShape#95
Elements
97
InitializedLength ← Elements#96
Int32
98
BoundsCheck ← Phi#80, InitializedLength#97
Int32
99
SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97
Int32
100
GuardElementNotHole ← Elements#96, SpectreMaskIndex#99
171
Goto → block 13
Block 13
115
GuardElementsArePacked ← Elements#96
116
LoadElement ← Elements#96, SpectreMaskIndex#99
Value
118
Unbox Parameter#1 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
121
Goto → block 14
Block 14
124
Unbox LoadElement#116 to Double (fallible)
Double
172
Constant 50
Double
126
Compare ← Unbox#124, Constant#172 Gt
Bool
127
Goto → block 15
Block 15
128
Test ← Compare#126 → block 17, block 16
1
0
Block 16 (split edge)
129
Goto → block 18
Block 17
133
Add ← Phi#81, Constant#51 [int32]
Int32
136
GuardShape ← NewArrayObject#69
Object
137
Elements ← GuardShape#136
Elements
138
StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116
139
Goto → block 18
Block 18 (backedge)
140
Phi ← Add#133, Phi#81
Int32
145
Add ← Phi#80, Constant#51 [int32]
Int32
146
Goto → block 11
Block 19
148
Box ← NewArrayObject#69
Value
149
Return ← Box#148
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
Int32
21
ArgumentsLength
Int32
22
Constant 0x0
Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
Int32
52
Compare ← ArgumentsLength#21, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant shape at 104289c64f00
Shape
69
NewArrayObject ← Constant#68
Object
70
Goto → block 10
Block 9
71
CallGetIntrinsicValue
Value
72
DebugCheckSelfHosted ← CallGetIntrinsicValue#71
Value
75
Bail
76
Unreachable
Block 10
95
GuardShape ← Unbox#10
Object
118
Unbox Parameter#1 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
172
Constant 50
Double
136
GuardShape ← NewArrayObject#69
Object
79
Goto → block 11
Block 11 (loop header)
80
Phi ← Constant#22, Add#145
Int32
81
Phi ← Constant#22, Phi#140
Int32
82
Constant magic optimized-out
MagicOptimizedOut
83
InterruptCheck
88
Compare ← Phi#80, ArrayLength#17 Lt
Bool
89
Test ← Compare#88 → block 12, block 19
1
0
Block 12
96
Elements ← GuardShape#95
Elements
97
InitializedLength ← Elements#96
Int32
98
BoundsCheck ← Phi#80, InitializedLength#97
Int32
99
SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97
Int32
100
GuardElementNotHole ← Elements#96, SpectreMaskIndex#99
171
Goto → block 13
Block 13
115
GuardElementsArePacked ← Elements#96
116
LoadElement ← Elements#96, SpectreMaskIndex#99
Value
121
Goto → block 14
Block 14
124
Unbox LoadElement#116 to Double (fallible)
Double
126
Compare ← Unbox#124, Constant#172 Gt
Bool
127
Goto → block 15
Block 15
128
Test ← Compare#126 → block 17, block 16
1
0
Block 16 (split edge)
129
Goto → block 18
Block 17
133
Add ← Phi#81, Constant#51 [int32]
Int32
137
Elements ← GuardShape#136
Elements
138
StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116
139
Goto → block 18
Block 18 (backedge)
140
Phi ← Add#133, Phi#81
Int32
145
Add ← Phi#80, Constant#51 [int32]
Int32
146
Goto → block 11
Block 19
148
Box ← NewArrayObject#69
Value
149
Return ← Box#148
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
Int32
21
ArgumentsLength
Int32
22
Constant 0x0
Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
180
Beta ← ArgumentsLength#21 I[0, 0]
Int32
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
179
Beta ← ArgumentsLength#21 F[?, ?] (U NaN U -Infinity U Infinity)
Int32
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
Int32
52
Compare ← Beta#179, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
178
Beta ← Beta#179 F[2, ?] (U Infinity)
Int32
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
177
Beta ← Beta#179 F[?, 1] (U NaN U -Infinity U -0)
Int32
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant shape at 104289c64f00
Shape
69
NewArrayObject ← Constant#68
Object
70
Goto → block 10
Block 9
71
CallGetIntrinsicValue
Value
72
DebugCheckSelfHosted ← CallGetIntrinsicValue#71
Value
75
Bail
76
Unreachable
Block 10
95
GuardShape ← Unbox#10
Object
118
Unbox Parameter#1 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
172
Constant 50
Double
136
GuardShape ← NewArrayObject#69
Object
79
Goto → block 11
Block 11 (loop header)
80
Phi ← Constant#22, Add#145
Int32
81
Phi ← Constant#22, Phi#140
Int32
82
Constant magic optimized-out
MagicOptimizedOut
83
InterruptCheck
88
Compare ← Phi#80, ArrayLength#17 Lt
Bool
89
Test ← Compare#88 → block 12, block 19
1
0
Block 12
176
Beta ← ArrayLength#17 I[-2147483647, 2147483647]
Int32
175
Beta ← Phi#80 I[-2147483648, 2147483646]
Int32
96
Elements ← GuardShape#95
Elements
97
InitializedLength ← Elements#96
Int32
98
BoundsCheck ← Beta#175, InitializedLength#97
Int32
99
SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97
Int32
100
GuardElementNotHole ← Elements#96, SpectreMaskIndex#99
171
Goto → block 13
Block 13
115
GuardElementsArePacked ← Elements#96
116
LoadElement ← Elements#96, SpectreMaskIndex#99
Value
121
Goto → block 14
Block 14
124
Unbox LoadElement#116 to Double (fallible)
Double
126
Compare ← Unbox#124, Constant#172 Gt
Bool
127
Goto → block 15
Block 15
128
Test ← Compare#126 → block 17, block 16
1
0
Block 16 (split edge)
174
Beta ← Unbox#124 F[?, 50] (U NaN U -Infinity U -0)
Double
129
Goto → block 18
Block 17
173
Beta ← Unbox#124 F[50, ?] (U Infinity)
Double
133
Add ← Phi#81, Constant#51 [int32]
Int32
137
Elements ← GuardShape#136
Elements
138
StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116
139
Goto → block 18
Block 18 (backedge)
140
Phi ← Add#133, Phi#81
Int32
145
Add ← Beta#175, Constant#51 [int32]
Int32
146
Goto → block 11
Block 19
148
Box ← NewArrayObject#69
Value
149
Return ← Box#148
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
180
Beta ← ArgumentsLength#21 I[0, 0]
I[0, 0]: Int32
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
179
Beta ← ArgumentsLength#21 F[?, ?] (U NaN U -Infinity U Infinity)
I[0, 500000]: Int32
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
I[1, 1]: Int32
52
Compare ← Beta#179, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
178
Beta ← Beta#179 F[2, ?] (U Infinity)
I[2, 500000]: Int32
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
177
Beta ← Beta#179 F[?, 1] (U NaN U -Infinity U -0)
I[0, 1] (U -0): Int32
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant shape at 104289c64f00
Shape
69
NewArrayObject ← Constant#68
Object
70
Goto → block 10
Block 9
71
CallGetIntrinsicValue
Value
72
DebugCheckSelfHosted ← CallGetIntrinsicValue#71
Value
75
Bail
76
Unreachable
Block 10
95
GuardShape ← Unbox#10
Object
118
Unbox Parameter#1 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
172
Constant 50
I[50, 50]: Double
136
GuardShape ← NewArrayObject#69
Object
79
Goto → block 11
Block 11 (loop header)
80
Phi ← Constant#22, Add#145
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
81
Phi ← Constant#22, Phi#140
Int32
82
Constant magic optimized-out
MagicOptimizedOut
83
InterruptCheck
88
Compare ← Phi#80, ArrayLength#17 Lt
Bool
89
Test ← Compare#88 → block 12, block 19
1
0
Block 12
176
Beta ← ArrayLength#17 I[-2147483647, 2147483647]
I[0, 2147483647]: Int32
175
Beta ← Phi#80 I[-2147483648, 2147483646]
I[0, 2147483646]: Int32
96
Elements ← GuardShape#95
Elements
97
InitializedLength ← Elements#96
I[0, 268435453]: Int32
98
BoundsCheck ← Beta#175, InitializedLength#97
I[0, 2147483646]: Int32
99
SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97
I[0, 2147483646]: Int32
100
GuardElementNotHole ← Elements#96, SpectreMaskIndex#99
171
Goto → block 13
Block 13
115
GuardElementsArePacked ← Elements#96
116
LoadElement ← Elements#96, SpectreMaskIndex#99
Value
121
Goto → block 14
Block 14
124
Unbox LoadElement#116 to Double (fallible)
Double
126
Compare ← Unbox#124, Constant#172 Gt
Bool
127
Goto → block 15
Block 15
128
Test ← Compare#126 → block 17, block 16
1
0
Block 16 (split edge)
174
Beta ← Unbox#124 F[?, 50] (U NaN U -Infinity U -0)
F[?, 50] (U NaN U -Infinity U -0): Double
129
Goto → block 18
Block 17
173
Beta ← Unbox#124 F[50, ?] (U Infinity)
F[50, ?] (U Infinity): Double
133
Add ← Phi#81, Constant#51 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
137
Elements ← GuardShape#136
Elements
138
StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116
139
Goto → block 18
Block 18 (backedge)
140
Phi ← Add#133, Phi#81
Int32
145
Add ← Beta#175, Constant#51 [int32]
I[1, 2147483647]: Int32
146
Goto → block 11
Block 19
148
Box ← NewArrayObject#69
Value
149
Return ← Box#148
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
I[1, 1]: Int32
52
Compare ← ArgumentsLength#21, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant shape at 104289c64f00
Shape
69
NewArrayObject ← Constant#68
Object
70
Goto → block 10
Block 9
71
CallGetIntrinsicValue
Value
72
DebugCheckSelfHosted ← CallGetIntrinsicValue#71
Value
75
Bail
76
Unreachable
Block 10
95
GuardShape ← Unbox#10
Object
118
Unbox Parameter#1 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
172
Constant 50
I[50, 50]: Double
136
GuardShape ← NewArrayObject#69
Object
79
Goto → block 11
Block 11 (loop header)
80
Phi ← Constant#22, Add#145
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
81
Phi ← Constant#22, Phi#140
Int32
82
Constant magic optimized-out
MagicOptimizedOut
83
InterruptCheck
88
Compare ← Phi#80, ArrayLength#17 Lt
Bool
89
Test ← Compare#88 → block 12, block 19
1
0
Block 12
96
Elements ← GuardShape#95
Elements
97
InitializedLength ← Elements#96
I[0, 268435453]: Int32
98
BoundsCheck ← Phi#80, InitializedLength#97
I[0, 2147483646]: Int32
99
SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97
I[0, 2147483646]: Int32
100
GuardElementNotHole ← Elements#96, SpectreMaskIndex#99
171
Goto → block 13
Block 13
115
GuardElementsArePacked ← Elements#96
116
LoadElement ← Elements#96, SpectreMaskIndex#99
Value
121
Goto → block 14
Block 14
124
Unbox LoadElement#116 to Double (fallible)
Double
126
Compare ← Unbox#124, Constant#172 Gt
Bool
127
Goto → block 15
Block 15
128
Test ← Compare#126 → block 17, block 16
1
0
Block 16 (split edge)
129
Goto → block 18
Block 17
133
Add ← Phi#81, Constant#51 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
137
Elements ← GuardShape#136
Elements
138
StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116
139
Goto → block 18
Block 18 (backedge)
140
Phi ← Add#133, Phi#81
Int32
145
Add ← Phi#80, Constant#51 [int32]
I[1, 2147483647]: Int32
146
Goto → block 11
Block 19
148
Box ← NewArrayObject#69
Value
149
Return ← Box#148
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
I[1, 1]: Int32
52
Compare ← ArgumentsLength#21, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant shape at 104289c64f00
Shape
69
NewArrayObject ← Constant#68
Object
70
Goto → block 10
Block 9
71
CallGetIntrinsicValue
Value
72
DebugCheckSelfHosted ← CallGetIntrinsicValue#71
Value
75
Bail
76
Unreachable
Block 10
95
GuardShape ← Unbox#10
Object
118
Unbox Parameter#1 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
172
Constant 50
I[50, 50]: Double
136
GuardShape ← NewArrayObject#69
Object
79
Goto → block 11
Block 11 (loop header)
80
Phi ← Constant#22, Add#145
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
81
Phi ← Constant#22, Phi#140
Int32
82
Constant magic optimized-out
MagicOptimizedOut
83
InterruptCheck
88
Compare ← Phi#80, ArrayLength#17 Lt
Bool
89
Test ← Compare#88 → block 12, block 19
1
0
Block 12
96
Elements ← GuardShape#95
Elements
97
InitializedLength ← Elements#96
I[0, 268435453]: Int32
98
BoundsCheck ← Phi#80, InitializedLength#97
I[0, 2147483646]: Int32
99
SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97
I[0, 2147483646]: Int32
100
GuardElementNotHole ← Elements#96, SpectreMaskIndex#99
171
Goto → block 13
Block 13
115
GuardElementsArePacked ← Elements#96
116
LoadElement ← Elements#96, SpectreMaskIndex#99
Value
121
Goto → block 14
Block 14
124
Unbox LoadElement#116 to Double (fallible)
Double
126
Compare ← Unbox#124, Constant#172 Gt
Bool
127
Goto → block 15
Block 15
128
Test ← Compare#126 → block 17, block 16
1
0
Block 16 (split edge)
129
Goto → block 18
Block 17
133
Add ← Phi#81, Constant#51 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
137
Elements ← GuardShape#136
Elements
138
StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116
139
Goto → block 18
Block 18 (backedge)
140
Phi ← Add#133, Phi#81
Int32
145
Add ← Phi#80, Constant#51 [int32]
I[1, 2147483647]: Int32
146
Goto → block 11
Block 19
148
Box ← NewArrayObject#69
Value
149
Return ← Box#148
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
I[1, 1]: Int32
52
Compare ← ArgumentsLength#21, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant shape at 104289c64f00
Shape
69
NewArrayObject ← Constant#68
Object
70
Goto → block 10
Block 9
71
CallGetIntrinsicValue
Value
72
DebugCheckSelfHosted ← CallGetIntrinsicValue#71
Value
75
Bail
76
Unreachable
Block 10
95
GuardShape ← Unbox#10
Object
118
Unbox Parameter#1 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
172
Constant 50
I[50, 50]: Double
136
GuardShape ← NewArrayObject#69
Object
79
Goto → block 11
Block 11 (loop header)
80
Phi ← Constant#22, Add#145
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
81
Phi ← Constant#22, Phi#140
Int32
82
Constant magic optimized-out
MagicOptimizedOut
83
InterruptCheck
88
Compare ← Phi#80, ArrayLength#17 Lt
Bool
89
Test ← Compare#88 → block 12, block 19
1
0
Block 12
96
Elements ← GuardShape#95
Elements
97
InitializedLength ← Elements#96
I[0, 268435453]: Int32
98
BoundsCheck ← Phi#80, InitializedLength#97
I[0, 2147483646]: Int32
99
SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97
I[0, 2147483646]: Int32
100
GuardElementNotHole ← Elements#96, SpectreMaskIndex#99
171
Goto → block 13
Block 13
115
GuardElementsArePacked ← Elements#96
116
LoadElement ← Elements#96, SpectreMaskIndex#99
Value
121
Goto → block 14
Block 14
124
Unbox LoadElement#116 to Double (fallible)
Double
126
Compare ← Unbox#124, Constant#172 Gt
Bool
127
Goto → block 15
Block 15
128
Test ← Compare#126 → block 17, block 16
1
0
Block 16 (split edge)
129
Goto → block 18
Block 17
133
Add ← Phi#81, Constant#51 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
137
Elements ← GuardShape#136
Elements
138
StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116
139
Goto → block 18
Block 18 (backedge)
140
Phi ← Add#133, Phi#81
Int32
145
Add ← Phi#80, Constant#51 [int32]
I[1, 2147483647]: Int32
146
Goto → block 11
Block 19
148
Box ← NewArrayObject#69
Value
149
Return ← Box#148
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
I[1, 1]: Int32
52
Compare ← ArgumentsLength#21, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant shape at 104289c64f00
Shape
69
NewArrayObject ← Constant#68
Object
70
Goto → block 10
Block 9
71
CallGetIntrinsicValue
Value
72
DebugCheckSelfHosted ← CallGetIntrinsicValue#71
Value
75
Bail
76
Unreachable
Block 10
95
GuardShape ← Unbox#10
Object
118
Unbox Parameter#1 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
172
Constant 50
I[50, 50]: Double
136
GuardShape ← NewArrayObject#69
Object
79
Goto → block 11
Block 11 (loop header)
80
Phi ← Constant#22, Add#145
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
81
Phi ← Constant#22, Phi#140
Int32
82
Constant magic optimized-out
MagicOptimizedOut
83
InterruptCheck
88
Compare ← Phi#80, ArrayLength#17 Lt
Bool
89
Test ← Compare#88 → block 12, block 19
1
0
Block 12
96
Elements ← GuardShape#95
Elements
97
InitializedLength ← Elements#96
I[0, 268435453]: Int32
98
BoundsCheck ← Phi#80, InitializedLength#97
I[0, 2147483646]: Int32
99
SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97
I[0, 2147483646]: Int32
100
GuardElementNotHole ← Elements#96, SpectreMaskIndex#99
171
Goto → block 13
Block 13
115
GuardElementsArePacked ← Elements#96
116
LoadElement ← Elements#96, SpectreMaskIndex#99
Value
121
Goto → block 14
Block 14
124
Unbox LoadElement#116 to Double (fallible)
Double
126
Compare ← Unbox#124, Constant#172 Gt
Bool
127
Goto → block 15
Block 15
128
Test ← Compare#126 → block 17, block 16
1
0
Block 16 (split edge)
129
Goto → block 18
Block 17
133
Add ← Phi#81, Constant#51 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
137
Elements ← GuardShape#136
Elements
138
StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116
139
Goto → block 18
Block 18 (backedge)
140
Phi ← Add#133, Phi#81
Int32
145
Add ← Phi#80, Constant#51 [int32]
I[1, 2147483647]: Int32
146
Goto → block 11
Block 19
148
Box ← NewArrayObject#69
Value
149
Return ← Box#148
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
I[1, 1]: Int32
52
Compare ← ArgumentsLength#21, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant shape at 104289c64f00
Shape
69
NewArrayObject ← Constant#68
Object
70
Goto → block 10
Block 9
71
CallGetIntrinsicValue
Value
72
DebugCheckSelfHosted ← CallGetIntrinsicValue#71
Value
75
Bail
76
Unreachable
Block 10
95
GuardShape ← Unbox#10
Object
118
Unbox Parameter#1 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
172
Constant 50
I[50, 50]: Double
136
GuardShape ← NewArrayObject#69
Object
79
Goto → block 11
Block 11 (loop header)
80
Phi ← Constant#22, Add#145
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
81
Phi ← Constant#22, Phi#140
Int32
82
Constant magic optimized-out
MagicOptimizedOut
83
InterruptCheck
88
Compare ← Phi#80, ArrayLength#17 Lt
Bool
89
Test ← Compare#88 → block 12, block 19
1
0
Block 12
96
Elements ← GuardShape#95
Elements
97
InitializedLength ← Elements#96
I[0, 268435453]: Int32
98
BoundsCheck ← Phi#80, InitializedLength#97
I[0, 2147483646]: Int32
99
SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97
I[0, 2147483646]: Int32
100
GuardElementNotHole ← Elements#96, SpectreMaskIndex#99
171
Goto → block 13
Block 13
115
GuardElementsArePacked ← Elements#96
116
LoadElement ← Elements#96, SpectreMaskIndex#99
Value
121
Goto → block 14
Block 14
124
Unbox LoadElement#116 to Double (fallible)
Double
126
Compare ← Unbox#124, Constant#172 Gt
Bool
127
Goto → block 15
Block 15
128
Test ← Compare#126 → block 17, block 16
1
0
Block 16 (split edge)
129
Goto → block 18
Block 17
133
Add ← Phi#81, Constant#51 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
137
Elements ← GuardShape#136
Elements
138
StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116
139
Goto → block 18
Block 18 (backedge)
140
Phi ← Add#133, Phi#81
Int32
145
Add ← Phi#80, Constant#51 [int32]
I[1, 2147483647]: Int32
146
Goto → block 11
Block 19
148
Box ← NewArrayObject#69
Value
149
Return ← Box#148
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
I[1, 1]: Int32
52
Compare ← ArgumentsLength#21, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant shape at 104289c64f00
Shape
69
NewArrayObject ← Constant#68
Object
70
Goto → block 10
Block 9
71
CallGetIntrinsicValue
Value
72
DebugCheckSelfHosted ← CallGetIntrinsicValue#71
Value
75
Bail
76
Unreachable
Block 10
95
GuardShape ← Unbox#10
Object
118
Unbox Parameter#1 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
172
Constant 50
I[50, 50]: Double
136
GuardShape ← NewArrayObject#69
Object
79
Goto → block 11
Block 11 (loop header)
80
Phi ← Constant#22, Add#145
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
81
Phi ← Constant#22, Phi#140
Int32
82
Constant magic optimized-out
MagicOptimizedOut
83
InterruptCheck
88
Compare ← Phi#80, ArrayLength#17 Lt
Bool
89
Test ← Compare#88 → block 12, block 19
1
0
Block 12
96
Elements ← GuardShape#95
Elements
97
InitializedLength ← Elements#96
I[0, 268435453]: Int32
98
BoundsCheck ← Phi#80, InitializedLength#97
I[0, 2147483646]: Int32
99
SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97
I[0, 2147483646]: Int32
100
GuardElementNotHole ← Elements#96, SpectreMaskIndex#99
171
Goto → block 13
Block 13
115
GuardElementsArePacked ← Elements#96
116
LoadElement ← Elements#96, SpectreMaskIndex#99
Value
121
Goto → block 14
Block 14
124
Unbox LoadElement#116 to Double (fallible)
Double
126
Compare ← Unbox#124, Constant#172 Gt
Bool
127
Goto → block 15
Block 15
128
Test ← Compare#126 → block 17, block 16
1
0
Block 16 (split edge)
129
Goto → block 18
Block 17
133
Add ← Phi#81, Constant#51 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
137
Elements ← GuardShape#136
Elements
138
StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116
139
Goto → block 18
Block 18 (backedge)
140
Phi ← Add#133, Phi#81
Int32
145
Add ← Phi#80, Constant#51 [int32]
I[1, 2147483647]: Int32
146
Goto → block 11
Block 19
148
Box ← NewArrayObject#69
Value
149
Return ← Box#148
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
10
Unbox Parameter#0 to Object (fallible)
Object
11
Constant function ToLength at 104289c6c778
Object
12
Box ← Constant#11
Value
13
DebugCheckSelfHosted ← Box#12
Value
15
GuardShape ← Unbox#10
Object
16
Elements ← GuardShape#15
Elements
17
ArrayLength ← Elements#16
I[0, 2147483647]: Int32
21
ArgumentsLength
I[0, 500000]: Int32
22
Constant 0x0
I[0, 0]: Int32
23
Compare ← ArgumentsLength#21, Constant#22 StrictEq
Bool
24
Test ← Compare#23 → block 1, block 2
1
0
Block 1
25
CallGetIntrinsicValue
Value
26
DebugCheckSelfHosted ← CallGetIntrinsicValue#25
Value
31
Bail
32
Unreachable
Block 2
33
Constant function IsCallable at 104289c6c7b0
Object
34
Box ← Constant#33
Value
35
DebugCheckSelfHosted ← Box#34
Value
38
IsCallable ← Parameter#1
Bool
39
Test ← IsCallable#38 → block 4, block 3
1
0
Block 3
40
CallGetIntrinsicValue
Value
41
DebugCheckSelfHosted ← CallGetIntrinsicValue#40
Value
43
Constant 0xc
I[12, 12]: Int32
44
CallGetIntrinsicValue
Value
45
DebugCheckSelfHosted ← CallGetIntrinsicValue#44
Value
48
Bail
49
Unreachable
Block 4
51
Constant 0x1
I[1, 1]: Int32
52
Compare ← ArgumentsLength#21, Constant#51 Gt
Bool
53
Test ← Compare#52 → block 5, block 6
1
0
Block 5
55
GetFrameArgument ← Constant#51
Value
56
Goto → block 7
Block 6
58
Box ← Constant#2
Value
59
Goto → block 7
Block 7
60
Phi ← Box#58, GetFrameArgument#55
Value
61
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
62
Box ← Constant#61
Value
63
DebugCheckSelfHosted ← Box#62
Value
66
HasShape ← Unbox#10
Bool
67
Test ← HasShape#66 → block 8, block 9
1
0
Block 8
68
Constant shape at 104289c64f00
Shape
69
NewArrayObject ← Constant#68
Object
70
Goto → block 10
Block 9
71
CallGetIntrinsicValue
Value
72
DebugCheckSelfHosted ← CallGetIntrinsicValue#71
Value
75
Bail
76
Unreachable
Block 10
95
GuardShape ← Unbox#10
Object
118
Unbox Parameter#1 to Object (fallible)
Object
119
GuardToFunction ← Unbox#118
Object
120
GuardFunctionScript ← GuardToFunction#119
Object
172
Constant 50
I[50, 50]: Double
136
GuardShape ← NewArrayObject#69
Object
79
Goto → block 11
Block 11 (loop header)
80
Phi ← Constant#22, Add#145
I[0 {}, 2147483647 {[loop] #17-1}]: Int32
81
Phi ← Constant#22, Phi#140
Int32
82
Constant magic optimized-out
MagicOptimizedOut
83
InterruptCheck
88
Compare ← Phi#80, ArrayLength#17 Lt
Bool
89
Test ← Compare#88 → block 12, block 19
1
0
Block 12
96
Elements ← GuardShape#95
Elements
97
InitializedLength ← Elements#96
I[0, 268435453]: Int32
98
BoundsCheck ← Phi#80, InitializedLength#97
I[0, 2147483646]: Int32
99
SpectreMaskIndex ← BoundsCheck#98, InitializedLength#97
I[0, 2147483646]: Int32
100
GuardElementNotHole ← Elements#96, SpectreMaskIndex#99
171
Goto → block 13
Block 13
115
GuardElementsArePacked ← Elements#96
116
LoadElement ← Elements#96, SpectreMaskIndex#99
Value
121
Goto → block 14
Block 14
124
Unbox LoadElement#116 to Double (fallible)
Double
126
Compare ← Unbox#124, Constant#172 Gt
Bool
127
Goto → block 15
Block 15
128
Test ← Compare#126 → block 17, block 16
1
0
Block 16 (split edge)
129
Goto → block 18
Block 17
133
Add ← Phi#81, Constant#51 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
137
Elements ← GuardShape#136
Elements
138
StoreElementHole ← GuardShape#136, Elements#137, Phi#81, LoadElement#116
139
Goto → block 18
Block 18 (backedge)
140
Phi ← Add#133, Phi#81
Int32
145
Add ← Phi#80, Constant#51 [int32]
I[1, 2147483647]: Int32
146
Goto → block 11
Block 19
148
Box ← NewArrayObject#69
Value
149
Return ← Box#148
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 7
Block 6
40
Box ← Constant#2
Value
41
Goto → block 7
Block 7
42
Phi ← Box#40, GetFrameArgument#38
Value
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← Unbox#8
Bool
47
Test ← HasShape#46 → block 8, block 9
1
0
Block 8
48
Constant shape at 104289c64f00
Shape
49
NewArrayObject ← Constant#48
Object
50
Goto → block 10
Block 9
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Bail
54
Unreachable
Block 10
55
GuardShape ← Unbox#8
Object
56
Unbox Parameter#1 to Object (fallible)
Object
57
GuardToFunction ← Unbox#56
Object
58
GuardFunctionScript ← GuardToFunction#57
Object
59
Constant 50
I[50, 50]: Double
60
GuardShape ← NewArrayObject#49
Object
61
Goto → block 11
Block 11 (loop header)
62
Phi ← Constant#16, Add#87
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
63
Phi ← Constant#16, Phi#86
Int32
64
Constant magic optimized-out
MagicOptimizedOut
65
InterruptCheck
66
Compare ← Phi#62, ArrayLength#14 Lt
Bool
67
Test ← Compare#66 → block 12, block 19
1
0
Block 12
68
Elements ← GuardShape#55
Elements
69
InitializedLength ← Elements#68
I[0, 268435453]: Int32
70
BoundsCheck ← Phi#62, InitializedLength#69
I[0, 2147483646]: Int32
71
SpectreMaskIndex ← BoundsCheck#70, InitializedLength#69
I[0, 2147483646]: Int32
72
GuardElementNotHole ← Elements#68, SpectreMaskIndex#71
73
Goto → block 13
Block 13
74
GuardElementsArePacked ← Elements#68
75
LoadElement ← Elements#68, SpectreMaskIndex#71
Value
76
Goto → block 14
Block 14
77
Unbox LoadElement#75 to Double (fallible)
Double
78
Compare ← Unbox#77, Constant#59 Gt
Bool
79
Goto → block 15
Block 15
80
Test ← Compare#78 → block 17, block 16
1
0
Block 16 (split edge)
81
Goto → block 18
Block 17
82
Add ← Phi#63, Constant#35 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
83
Elements ← GuardShape#60
Elements
84
StoreElementHole ← GuardShape#60, Elements#83, Phi#63, LoadElement#75
85
Goto → block 18
Block 18 (backedge)
86
Phi ← Add#82, Phi#63
Int32
87
Add ← Phi#62, Constant#35 [int32]
I[1, 2147483647]: Int32
88
Goto → block 11
Block 19
89
Box ← NewArrayObject#49
Value
90
Return ← Box#89
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 7
Block 6
40
Box ← Constant#2
Value
41
Goto → block 7
Block 7
42
Phi ← Box#40, GetFrameArgument#38
Value
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← Unbox#8
Bool
47
Test ← HasShape#46 → block 8, block 9
1
0
Block 8
48
Constant shape at 104289c64f00
Shape
49
NewArrayObject ← Constant#48
Object
50
Goto → block 10
Block 9
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Bail
54
Unreachable
Block 10
55
GuardShape ← Unbox#8
Object
56
Unbox Parameter#1 to Object (fallible)
Object
57
GuardToFunction ← Unbox#56
Object
58
GuardFunctionScript ← GuardToFunction#57
Object
59
Constant 50
I[50, 50]: Double
60
GuardShape ← NewArrayObject#49
Object
61
Goto → block 11
Block 11 (loop header)
62
Phi ← Constant#16, Add#87
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
63
Phi ← Constant#16, Phi#86
Int32
64
Constant magic optimized-out
MagicOptimizedOut
65
InterruptCheck
66
Compare ← Phi#62, ArrayLength#14 Lt
Bool
67
Test ← Compare#66 → block 12, block 19
1
0
Block 12
68
Elements ← GuardShape#55
Elements
69
InitializedLength ← Elements#68
I[0, 268435453]: Int32
70
BoundsCheck ← Phi#62, InitializedLength#69
I[0, 2147483646]: Int32
71
SpectreMaskIndex ← BoundsCheck#70, InitializedLength#69
I[0, 2147483646]: Int32
72
GuardElementNotHole ← Elements#68, SpectreMaskIndex#71
73
Goto → block 13
Block 13
74
GuardElementsArePacked ← Elements#68
75
LoadElement ← Elements#68, SpectreMaskIndex#71
Value
76
Goto → block 14
Block 14
77
Unbox LoadElement#75 to Double (fallible)
Double
78
Compare ← Unbox#77, Constant#59 Gt
Bool
79
Goto → block 15
Block 15
80
Test ← Compare#78 → block 17, block 16
1
0
Block 16 (split edge)
81
Goto → block 18
Block 17
82
Add ← Phi#63, Constant#35 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
83
Elements ← GuardShape#60
Elements
84
StoreElementHole ← GuardShape#60, Elements#83, Phi#63, LoadElement#75
85
Goto → block 18
Block 18 (backedge)
86
Phi ← Add#82, Phi#63
Int32
87
Add ← Phi#62, Constant#35 [int32]
I[1, 2147483647]: Int32
88
Goto → block 11
Block 19
89
Box ← NewArrayObject#49
Value
90
Return ← Box#89
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 7
Block 6
40
Box ← Constant#2
Value
41
Goto → block 7
Block 7
42
Phi ← Box#40, GetFrameArgument#38
Value
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← Unbox#8
Bool
47
Test ← HasShape#46 → block 8, block 9
1
0
Block 8
48
Constant shape at 104289c64f00
Shape
49
NewArrayObject ← Constant#48
Object
50
Goto → block 10
Block 9
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Bail
54
Unreachable
Block 10
55
GuardShape ← Unbox#8
Object
56
Unbox Parameter#1 to Object (fallible)
Object
57
GuardToFunction ← Unbox#56
Object
58
GuardFunctionScript ← GuardToFunction#57
Object
59
Constant 50
I[50, 50]: Double
60
GuardShape ← NewArrayObject#49
Object
61
Goto → block 11
Block 11 (loop header)
62
Phi ← Constant#16, Add#87
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
63
Phi ← Constant#16, Phi#86
Int32
64
Constant magic optimized-out
MagicOptimizedOut
65
InterruptCheck
66
Compare ← Phi#62, ArrayLength#14 Lt
Bool
67
Test ← Compare#66 → block 12, block 19
1
0
Block 12
68
Elements ← GuardShape#55
Elements
69
InitializedLength ← Elements#68
I[0, 268435453]: Int32
70
BoundsCheck ← Phi#62, InitializedLength#69
I[0, 2147483646]: Int32
71
SpectreMaskIndex ← BoundsCheck#70, InitializedLength#69
I[0, 2147483646]: Int32
72
GuardElementNotHole ← Elements#68, SpectreMaskIndex#71
73
Goto → block 13
Block 13
74
GuardElementsArePacked ← Elements#68
75
LoadElement ← Elements#68, SpectreMaskIndex#71
Value
76
Goto → block 14
Block 14
77
Unbox LoadElement#75 to Double (fallible)
Double
78
Compare ← Unbox#77, Constant#59 Gt
Bool
79
Goto → block 15
Block 15
80
Test ← Compare#78 → block 17, block 16
1
0
Block 16 (split edge)
81
Goto → block 18
Block 17
82
Add ← Phi#63, Constant#35 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
83
Elements ← GuardShape#60
Elements
84
StoreElementHole ← GuardShape#60, Elements#83, Phi#63, LoadElement#75
85
Goto → block 18
Block 18 (backedge)
86
Phi ← Add#82, Phi#63
Int32
87
Add ← Phi#62, Constant#35 [int32]
I[1, 2147483647]: Int32
88
Goto → block 11
Block 19
89
Box ← NewArrayObject#49
Value
90
Return ← Box#89
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 7
Block 6
40
Box ← Constant#2
Value
41
Goto → block 7
Block 7
42
Phi ← Box#40, GetFrameArgument#38
Value
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← Unbox#8
Bool
47
Test ← HasShape#46 → block 8, block 9
1
0
Block 8
48
Constant shape at 104289c64f00
Shape
49
NewArrayObject ← Constant#48
Object
50
Goto → block 10
Block 9
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Bail
54
Unreachable
Block 10
55
GuardShape ← Unbox#8
Object
56
Unbox Parameter#1 to Object (fallible)
Object
57
GuardToFunction ← Unbox#56
Object
58
GuardFunctionScript ← GuardToFunction#57
Object
59
Constant 50
I[50, 50]: Double
60
GuardShape ← NewArrayObject#49
Object
61
Goto → block 11
Block 11 (loop header)
62
Phi ← Constant#16, Add#87
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
63
Phi ← Constant#16, Phi#86
Int32
64
Constant magic optimized-out
MagicOptimizedOut
65
InterruptCheck
66
Compare ← Phi#62, ArrayLength#14 Lt
Bool
67
Test ← Compare#66 → block 12, block 19
1
0
Block 12
68
Elements ← GuardShape#55
Elements
69
InitializedLength ← Elements#68
I[0, 268435453]: Int32
70
BoundsCheck ← Phi#62, InitializedLength#69
I[0, 2147483646]: Int32
71
SpectreMaskIndex ← Phi#62, InitializedLength#69
I[0, 2147483646]: Int32
72
GuardElementNotHole ← Elements#68, SpectreMaskIndex#71
73
Goto → block 13
Block 13
74
GuardElementsArePacked ← Elements#68
75
LoadElement ← Elements#68, SpectreMaskIndex#71
Value
76
Goto → block 14
Block 14
77
Unbox LoadElement#75 to Double (fallible)
Double
78
Compare ← Unbox#77, Constant#59 Gt
Bool
79
Goto → block 15
Block 15
80
Test ← Compare#78 → block 17, block 16
1
0
Block 16 (split edge)
81
Goto → block 18
Block 17
82
Add ← Phi#63, Constant#35 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
83
Elements ← GuardShape#60
Elements
84
StoreElementHole ← GuardShape#60, Elements#83, Phi#63, LoadElement#75
85
Goto → block 18
Block 18 (backedge)
86
Phi ← Add#82, Phi#63
Int32
87
Add ← Phi#62, Constant#35 [int32]
I[1, 2147483647]: Int32
88
Goto → block 11
Block 19
89
Box ← NewArrayObject#49
Value
90
Return ← Box#89
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 7
Block 6
40
Box ← Constant#2
Value
41
Goto → block 7
Block 7
42
Phi ← Box#40, GetFrameArgument#38
Value
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← Unbox#8
Bool
47
Test ← HasShape#46 → block 8, block 9
1
0
Block 8
48
Constant shape at 104289c64f00
Shape
49
NewArrayObject ← Constant#48
Object
50
Goto → block 10
Block 9
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Bail
54
Unreachable
Block 10
55
GuardShape ← Unbox#8
Object
56
Unbox Parameter#1 to Object (fallible)
Object
57
GuardToFunction ← Unbox#56
Object
58
GuardFunctionScript ← GuardToFunction#57
Object
59
Constant 50
I[50, 50]: Double
60
GuardShape ← NewArrayObject#49
Object
61
Goto → block 11
Block 11 (loop header)
62
Phi ← Constant#16, Add#87
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
63
Phi ← Constant#16, Phi#86
Int32
64
Constant magic optimized-out
MagicOptimizedOut
65
InterruptCheck
66
Compare ← Phi#62, ArrayLength#14 Lt
Bool
67
Test ← Compare#66 → block 12, block 19
1
0
Block 12
68
Elements ← GuardShape#55
Elements
69
InitializedLength ← Elements#68
I[0, 268435453]: Int32
70
BoundsCheck ← Phi#62, InitializedLength#69
I[0, 2147483646]: Int32
71
SpectreMaskIndex ← Phi#62, InitializedLength#69
I[0, 2147483646]: Int32
72
GuardElementNotHole ← Elements#68, SpectreMaskIndex#71
73
Goto → block 13
Block 13
74
GuardElementsArePacked ← Elements#68
75
LoadElement ← Elements#68, SpectreMaskIndex#71
Value
76
Goto → block 14
Block 14
77
Unbox LoadElement#75 to Double (fallible)
Double
78
Compare ← Unbox#77, Constant#59 Gt
Bool
79
Goto → block 15
Block 15
80
Test ← Compare#78 → block 17, block 16
1
0
Block 16 (split edge)
81
Goto → block 18
Block 17
82
Add ← Phi#63, Constant#35 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
83
Elements ← GuardShape#60
Elements
84
StoreElementHole ← GuardShape#60, Elements#83, Phi#63, LoadElement#75
85
Goto → block 18
Block 18 (backedge)
86
Phi ← Add#82, Phi#63
Int32
87
Add ← Phi#62, Constant#35 [int32]
I[1, 2147483647]: Int32
88
Goto → block 11
Block 19
89
Box ← NewArrayObject#49
Value
90
Return ← Box#89
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 7
Block 6
40
Box ← Constant#2
Value
41
Goto → block 7
Block 7
42
Phi ← Box#40, GetFrameArgument#38
Value
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← Unbox#8
Bool
47
Test ← HasShape#46 → block 8, block 9
1
0
Block 8
48
Constant shape at 104289c64f00
Shape
49
NewArrayObject ← Constant#48
Object
50
Goto → block 10
Block 9
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Bail
54
Unreachable
Block 10
55
GuardShape ← Unbox#8
Object
56
Unbox Parameter#1 to Object (fallible)
Object
57
GuardToFunction ← Unbox#56
Object
58
GuardFunctionScript ← GuardToFunction#57
Object
59
Constant 50
I[50, 50]: Double
60
GuardShape ← NewArrayObject#49
Object
61
Goto → block 11
Block 11 (loop header)
62
Phi ← Constant#16, Add#87
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
63
Phi ← Constant#16, Phi#86
Int32
64
Constant magic optimized-out
MagicOptimizedOut
65
InterruptCheck
66
Compare ← Phi#62, ArrayLength#14 Lt
Bool
67
Test ← Compare#66 → block 12, block 19
1
0
Block 12
68
Elements ← GuardShape#55
Elements
69
InitializedLength ← Elements#68
I[0, 268435453]: Int32
70
BoundsCheck ← Phi#62, InitializedLength#69
I[0, 2147483646]: Int32
71
SpectreMaskIndex ← Phi#62, InitializedLength#69
I[0, 2147483646]: Int32
72
GuardElementNotHole ← Elements#68, SpectreMaskIndex#71
73
Goto → block 13
Block 13
74
GuardElementsArePacked ← Elements#68
75
LoadElement ← Elements#68, SpectreMaskIndex#71
Value
76
Goto → block 14
Block 14
77
Unbox LoadElement#75 to Double (fallible)
Double
78
Compare ← Unbox#77, Constant#59 Gt
Bool
79
Goto → block 15
Block 15
80
Test ← Compare#78 → block 17, block 16
1
0
Block 16 (split edge)
81
Goto → block 18
Block 17
82
Add ← Phi#63, Constant#35 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
83
Elements ← GuardShape#60
Elements
84
StoreElementHole ← GuardShape#60, Elements#83, Phi#63, LoadElement#75
85
Goto → block 18
Block 18 (backedge)
86
Phi ← Add#82, Phi#63
Int32
87
Add ← Phi#62, Constant#35 [int32]
I[1, 2147483647]: Int32
88
Goto → block 11
Block 19
89
Box ← NewArrayObject#49
Value
90
Return ← Box#89
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 7
Block 6
40
Box ← Constant#2
Value
41
Goto → block 7
Block 7
42
Phi ← Box#40, GetFrameArgument#38
Value
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← Unbox#8
Bool
47
Test ← HasShape#46 → block 8, block 9
1
0
Block 8
48
Constant shape at 104289c64f00
Shape
49
NewArrayObject ← Constant#48
Object
50
Goto → block 10
Block 9
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Bail
54
Unreachable
Block 10
55
GuardShape ← Unbox#8
Object
56
Unbox Parameter#1 to Object (fallible)
Object
57
GuardToFunction ← Unbox#56
Object
58
GuardFunctionScript ← GuardToFunction#57
Object
59
Constant 50
I[50, 50]: Double
60
GuardShape ← NewArrayObject#49
Object
61
Goto → block 11
Block 11 (loop header)
62
Phi ← Constant#16, Add#87
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
63
Phi ← Constant#16, Phi#86
Int32
64
Constant magic optimized-out
MagicOptimizedOut
65
InterruptCheck
66
Compare ← Phi#62, ArrayLength#14 Lt
Bool
67
Test ← Compare#66 → block 12, block 19
1
0
Block 12
68
Elements ← GuardShape#55
Elements
69
InitializedLength ← Elements#68
I[0, 268435453]: Int32
70
BoundsCheck ← Phi#62, InitializedLength#69
I[0, 2147483646]: Int32
71
SpectreMaskIndex ← Phi#62, InitializedLength#69
I[0, 2147483646]: Int32
72
GuardElementNotHole ← Elements#68, SpectreMaskIndex#71
73
Goto → block 13
Block 13
74
GuardElementsArePacked ← Elements#68
75
LoadElement ← Elements#68, SpectreMaskIndex#71
Value
76
Goto → block 14
Block 14
77
Unbox LoadElement#75 to Double (fallible)
Double
78
Compare ← Unbox#77, Constant#59 Gt
Bool
79
Goto → block 15
Block 15
80
Test ← Compare#78 → block 17, block 16
1
0
Block 16 (split edge)
81
Goto → block 18
Block 17
82
Add ← Phi#63, Constant#35 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
83
Elements ← GuardShape#60
Elements
84
StoreElementHole ← GuardShape#60, Elements#83, Phi#63, LoadElement#75
85
Goto → block 18
Block 18 (backedge)
86
Phi ← Add#82, Phi#63
Int32
87
Add ← Phi#62, Constant#35 [int32]
I[1, 2147483647]: Int32
88
Goto → block 11
Block 19
89
Box ← NewArrayObject#49
Value
90
Return ← Box#89
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
181
DebugEnterGCUnsafeRegion
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
182
DebugLeaveGCUnsafeRegion
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 7
Block 6
40
Box ← Constant#2
Value
41
Goto → block 7
Block 7
42
Phi ← Box#40, GetFrameArgument#38
Value
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← Unbox#8
Bool
47
Test ← HasShape#46 → block 8, block 9
1
0
Block 8
48
Constant shape at 104289c64f00
Shape
49
NewArrayObject ← Constant#48
Object
50
Goto → block 10
Block 9
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Bail
54
Unreachable
Block 10
55
GuardShape ← Unbox#8
Object
56
Unbox Parameter#1 to Object (fallible)
Object
57
GuardToFunction ← Unbox#56
Object
58
GuardFunctionScript ← GuardToFunction#57
Object
59
Constant 50
I[50, 50]: Double
60
GuardShape ← NewArrayObject#49
Object
61
Goto → block 11
Block 11 (loop header)
62
Phi ← Constant#16, Add#87
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
63
Phi ← Constant#16, Phi#86
Int32
64
Constant magic optimized-out
MagicOptimizedOut
65
InterruptCheck
66
Compare ← Phi#62, ArrayLength#14 Lt
Bool
67
Test ← Compare#66 → block 12, block 19
1
0
Block 12
68
Elements ← GuardShape#55
Elements
187
DebugEnterGCUnsafeRegion
185
DebugEnterGCUnsafeRegion
69
InitializedLength ← Elements#68
I[0, 268435453]: Int32
188
DebugLeaveGCUnsafeRegion
70
BoundsCheck ← Phi#62, InitializedLength#69
I[0, 2147483646]: Int32
71
SpectreMaskIndex ← Phi#62, InitializedLength#69
I[0, 2147483646]: Int32
72
GuardElementNotHole ← Elements#68, SpectreMaskIndex#71
186
DebugLeaveGCUnsafeRegion
73
Goto → block 13
Block 13
74
GuardElementsArePacked ← Elements#68
184
KeepAliveObject ← GuardShape#55
75
LoadElement ← Elements#68, SpectreMaskIndex#71
Value
183
KeepAliveObject ← GuardShape#55
76
Goto → block 14
Block 14
77
Unbox LoadElement#75 to Double (fallible)
Double
78
Compare ← Unbox#77, Constant#59 Gt
Bool
79
Goto → block 15
Block 15
80
Test ← Compare#78 → block 17, block 16
1
0
Block 16 (split edge)
81
Goto → block 18
Block 17
82
Add ← Phi#63, Constant#35 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
83
Elements ← GuardShape#60
Elements
84
StoreElementHole ← GuardShape#60, Elements#83, Phi#63, LoadElement#75
85
Goto → block 18
Block 18 (backedge)
86
Phi ← Add#82, Phi#63
Int32
87
Add ← Phi#62, Constant#35 [int32]
I[1, 2147483647]: Int32
88
Goto → block 11
Block 19
89
Box ← NewArrayObject#49
Value
90
Return ← Box#89
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
181
DebugEnterGCUnsafeRegion
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
182
DebugLeaveGCUnsafeRegion
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 7
Block 6
40
Box ← Constant#2
Value
41
Goto → block 7
Block 7
42
Phi ← Box#40, GetFrameArgument#38
Value
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← Unbox#8
Bool
47
Test ← HasShape#46 → block 8, block 9
1
0
Block 8
48
Constant shape at 104289c64f00
Shape
49
NewArrayObject ← Constant#48
Object
50
Goto → block 10
Block 9
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Bail
54
Unreachable
Block 10
55
GuardShape ← Unbox#8
Object
56
Unbox Parameter#1 to Object (fallible)
Object
57
GuardToFunction ← Unbox#56
Object
58
GuardFunctionScript ← GuardToFunction#57
Object
59
Constant 50
I[50, 50]: Double
60
GuardShape ← NewArrayObject#49
Object
61
Goto → block 11
Block 11 (loop header)
62
Phi ← Constant#16, Add#87
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
63
Phi ← Constant#16, Phi#86
Int32
64
Constant magic optimized-out
MagicOptimizedOut
65
InterruptCheck
66
Compare ← Phi#62, ArrayLength#14 Lt
Bool
67
Test ← Compare#66 → block 12, block 19
1
0
Block 12
68
Elements ← GuardShape#55
Elements
187
DebugEnterGCUnsafeRegion
185
DebugEnterGCUnsafeRegion
69
InitializedLength ← Elements#68
I[0, 268435453]: Int32
188
DebugLeaveGCUnsafeRegion
70
BoundsCheck ← Phi#62, InitializedLength#69
I[0, 2147483646]: Int32
71
SpectreMaskIndex ← Phi#62, InitializedLength#69
I[0, 2147483646]: Int32
72
GuardElementNotHole ← Elements#68, SpectreMaskIndex#71
186
DebugLeaveGCUnsafeRegion
73
Goto → block 13
Block 13
74
GuardElementsArePacked ← Elements#68
184
KeepAliveObject ← GuardShape#55
75
LoadElement ← Elements#68, SpectreMaskIndex#71
Value
183
KeepAliveObject ← GuardShape#55
76
Goto → block 14
Block 14
77
Unbox LoadElement#75 to Double (fallible)
Double
78
Compare ← Unbox#77, Constant#59 Gt
Bool
79
Goto → block 15
Block 15
80
Test ← Compare#78 → block 17, block 16
1
0
Block 16 (split edge)
81
Goto → block 18
Block 17
82
Add ← Phi#63, Constant#35 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
83
Elements ← GuardShape#60
Elements
84
StoreElementHole ← GuardShape#60, Elements#83, Phi#63, LoadElement#75
85
Goto → block 18
Block 18 (backedge)
86
Phi ← Add#82, Phi#63
Int32
87
Add ← Phi#62, Constant#35 [int32]
I[1, 2147483647]: Int32
88
Goto → block 11
Block 19
89
Box ← NewArrayObject#49
Value
90
Return ← Box#89
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant function ToObject at 104289c6c740
Object
6
Box ← Constant#5
Value
7
DebugCheckSelfHosted ← Box#6
Value
8
Unbox Parameter#0 to Object (fallible)
Object
9
Constant function ToLength at 104289c6c778
Object
10
Box ← Constant#9
Value
11
DebugCheckSelfHosted ← Box#10
Value
12
GuardShape ← Unbox#8
Object
13
Elements ← GuardShape#12
Elements
181
DebugEnterGCUnsafeRegion
14
ArrayLength ← Elements#13
I[0, 2147483647]: Int32
182
DebugLeaveGCUnsafeRegion
15
ArgumentsLength
I[0, 500000]: Int32
16
Constant 0x0
I[0, 0]: Int32
17
Compare ← ArgumentsLength#15, Constant#16 StrictEq
Bool
18
Test ← Compare#17 → block 1, block 2
1
0
Block 1
19
CallGetIntrinsicValue
Value
20
DebugCheckSelfHosted ← CallGetIntrinsicValue#19
Value
21
Bail
22
Unreachable
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
IsCallable ← Parameter#1
Bool
27
Test ← IsCallable#26 → block 4, block 3
1
0
Block 3
28
CallGetIntrinsicValue
Value
29
DebugCheckSelfHosted ← CallGetIntrinsicValue#28
Value
30
Constant 0xc
I[12, 12]: Int32
31
CallGetIntrinsicValue
Value
32
DebugCheckSelfHosted ← CallGetIntrinsicValue#31
Value
33
Bail
34
Unreachable
Block 4
35
Constant 0x1
I[1, 1]: Int32
36
Compare ← ArgumentsLength#15, Constant#35 Gt
Bool
37
Test ← Compare#36 → block 5, block 6
1
0
Block 5
38
GetFrameArgument ← Constant#35
Value
39
Goto → block 7
Block 6
40
Box ← Constant#2
Value
41
Goto → block 7
Block 7
42
Phi ← Box#40, GetFrameArgument#38
Value
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← Unbox#8
Bool
47
Test ← HasShape#46 → block 8, block 9
1
0
Block 8
48
Constant shape at 104289c64f00
Shape
49
NewArrayObject ← Constant#48
Object
50
Goto → block 10
Block 9
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Bail
54
Unreachable
Block 10
55
GuardShape ← Unbox#8
Object
56
Unbox Parameter#1 to Object (fallible)
Object
57
GuardToFunction ← Unbox#56
Object
58
GuardFunctionScript ← GuardToFunction#57
Object
59
Constant 50
I[50, 50]: Double
60
GuardShape ← NewArrayObject#49
Object
61
Goto → block 11
Block 11 (loop header)
62
Phi ← Constant#16, Add#87
I[0 {}, 2147483647 {[loop] #14-1}]: Int32
63
Phi ← Constant#16, Phi#86
Int32
64
Constant magic optimized-out
MagicOptimizedOut
65
InterruptCheck
66
Compare ← Phi#62, ArrayLength#14 Lt
Bool
67
Test ← Compare#66 → block 12, block 19
1
0
Block 12
68
Elements ← GuardShape#55
Elements
187
DebugEnterGCUnsafeRegion
185
DebugEnterGCUnsafeRegion
69
InitializedLength ← Elements#68
I[0, 268435453]: Int32
188
DebugLeaveGCUnsafeRegion
70
BoundsCheck ← Phi#62, InitializedLength#69
I[0, 2147483646]: Int32
71
SpectreMaskIndex ← Phi#62, InitializedLength#69
I[0, 2147483646]: Int32
72
GuardElementNotHole ← Elements#68, SpectreMaskIndex#71
186
DebugLeaveGCUnsafeRegion
73
Goto → block 13
Block 13
74
GuardElementsArePacked ← Elements#68
184
KeepAliveObject ← GuardShape#55
75
LoadElement ← Elements#68, SpectreMaskIndex#71
Value
183
KeepAliveObject ← GuardShape#55
76
Goto → block 14
Block 14
77
Unbox LoadElement#75 to Double (fallible)
Double
78
Compare ← Unbox#77, Constant#59 Gt
Bool
79
Goto → block 15
Block 15
80
Test ← Compare#78 → block 17, block 16
1
0
Block 16 (split edge)
81
Goto → block 18
Block 17
82
Add ← Phi#63, Constant#35 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
83
Elements ← GuardShape#60
Elements
84
StoreElementHole ← GuardShape#60, Elements#83, Phi#63, LoadElement#75
85
Goto → block 18
Block 18 (backedge)
86
Phi ← Add#82, Phi#63
Int32
87
Add ← Phi#62, Constant#35 [int32]
I[1, 2147483647]: Int32
88
Goto → block 11
Block 19
89
Box ← NewArrayObject#49
Value
90
Return ← Box#89
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant object 104289c3f040 (LexicalEnvironment)
Object
6
Constant object 104289c3e030 (global)
Object
7
Constant object 104289c41148 (Math)
Object
8
Constant object 104289c41148 (Math)
Object
9
GuardObjectIdentity ← Constant#7, Constant#8
Object
10
Constant function sqrt at 104289c6c388
Object
11
Unbox Parameter#1 to Double (fallible)
Double
12
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#12 [double]
Double
14
Constant 0x1
Int32
15
Constant function sqrt at 104289c6c388
Object
16
GuardSpecificFunction ← Constant#10, Constant#15
Object
17
Sqrt ← Mul#13
Double
18
Constant object 104289c3f040 (LexicalEnvironment)
Object
19
Constant object 104289c3e030 (global)
Object
20
Constant object 104289c41148 (Math)
Object
21
Constant object 104289c41148 (Math)
Object
22
GuardObjectIdentity ← Constant#20, Constant#21
Object
23
Constant function sin at 104289c6c350
Object
24
Constant 0x1
Int32
25
Constant function sin at 104289c6c350
Object
26
GuardSpecificFunction ← Constant#23, Constant#25
Object
27
Unbox Parameter#1 to Double (fallible)
Double
28
MathFunction ← Unbox#27 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
Double
30
Constant object 104289c3f040 (LexicalEnvironment)
Object
31
Constant object 104289c3e030 (global)
Object
32
Constant object 104289c41148 (Math)
Object
33
Constant object 104289c41148 (Math)
Object
34
GuardObjectIdentity ← Constant#32, Constant#33
Object
35
Constant function cos at 104289c6c0b0
Object
36
Constant 0x1
Int32
37
Constant function cos at 104289c6c0b0
Object
38
GuardSpecificFunction ← Constant#35, Constant#37
Object
39
Unbox Parameter#1 to Double (fallible)
Double
40
MathFunction ← Unbox#39 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
Double
42
Constant object 104289c3f040 (LexicalEnvironment)
Object
43
Constant object 104289c3e030 (global)
Object
44
Constant object 104289c41148 (Math)
Object
45
Constant object 104289c41148 (Math)
Object
46
GuardObjectIdentity ← Constant#44, Constant#45
Object
47
Constant function tan at 104289c6c3c0
Object
48
Constant 0x1
Int32
49
Constant function tan at 104289c6c3c0
Object
50
GuardSpecificFunction ← Constant#47, Constant#49
Object
51
Unbox Parameter#1 to Double (fallible)
Double
52
MathFunction ← Unbox#51 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
Double
54
Constant object 104289c3f040 (LexicalEnvironment)
Object
55
Constant object 104289c3e030 (global)
Object
56
Constant object 104289c41148 (Math)
Object
57
Constant object 104289c41148 (Math)
Object
58
GuardObjectIdentity ← Constant#56, Constant#57
Object
59
Constant function abs at 104289c63ee8
Object
60
Constant 0x1
Int32
61
Constant function abs at 104289c63ee8
Object
62
GuardSpecificFunction ← Constant#59, Constant#61
Object
63
Unbox Parameter#1 to Double (fallible)
Double
64
Abs ← Unbox#63
Double
65
Add ← Add#53, Abs#64 [double]
Double
66
Constant object 104289c3f040 (LexicalEnvironment)
Object
67
Constant object 104289c3e030 (global)
Object
68
Constant object 104289c41148 (Math)
Object
69
Constant object 104289c41148 (Math)
Object
70
GuardObjectIdentity ← Constant#68, Constant#69
Object
71
Constant function floor at 104289c6c120
Object
72
Constant 0x1
Int32
73
Constant function floor at 104289c6c120
Object
74
GuardSpecificFunction ← Constant#71, Constant#73
Object
75
Unbox Parameter#1 to Double (fallible)
Double
76
NearbyInt ← Unbox#75 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
Double
78
Constant object 104289c3f040 (LexicalEnvironment)
Object
79
Constant object 104289c3e030 (global)
Object
80
Constant object 104289c41148 (Math)
Object
81
Constant object 104289c41148 (Math)
Object
82
GuardObjectIdentity ← Constant#80, Constant#81
Object
83
Constant function ceil at 104289c6c040
Object
84
Constant 0x1
Int32
85
Constant function ceil at 104289c6c040
Object
86
GuardSpecificFunction ← Constant#83, Constant#85
Object
87
Unbox Parameter#1 to Double (fallible)
Double
88
NearbyInt ← Unbox#87 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
Double
90
Constant object 104289c3f040 (LexicalEnvironment)
Object
91
Constant object 104289c3e030 (global)
Object
92
Constant object 104289c41148 (Math)
Object
93
Constant object 104289c41148 (Math)
Object
94
GuardObjectIdentity ← Constant#92, Constant#93
Object
95
Constant function round at 104289c6c318
Object
96
Constant 0x1
Int32
97
Constant function round at 104289c6c318
Object
98
GuardSpecificFunction ← Constant#95, Constant#97
Object
99
Unbox Parameter#1 to Double (fallible)
Double
100
RoundToDouble ← Unbox#99
Double
101
Add ← Add#89, RoundToDouble#100 [double]
Double
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant object 104289c41148 (Math)
Object
105
Constant object 104289c41148 (Math)
Object
106
GuardObjectIdentity ← Constant#104, Constant#105
Object
107
Constant function log at 104289c6c200
Object
108
Constant 0x1
Int32
109
Unbox Parameter#1 to Double (fallible)
Double
110
Add ← Unbox#109, Constant#108 [double]
Double
111
Constant 0x1
Int32
112
Constant function log at 104289c6c200
Object
113
GuardSpecificFunction ← Constant#107, Constant#112
Object
114
MathFunction ← Add#110 Log
Double
115
Add ← Add#101, MathFunction#114 [double]
Double
116
Return ← Add#115
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant object 104289c3f040 (LexicalEnvironment)
Object
6
Constant object 104289c3e030 (global)
Object
7
Constant object 104289c41148 (Math)
Object
8
Constant object 104289c41148 (Math)
Object
9
GuardObjectIdentity ← Constant#7, Constant#8
Object
10
Constant function sqrt at 104289c6c388
Object
11
Unbox Parameter#1 to Double (fallible)
Double
12
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#12 [double]
Double
14
Constant 0x1
Int32
15
Constant function sqrt at 104289c6c388
Object
16
GuardSpecificFunction ← Constant#10, Constant#15
Object
17
Sqrt ← Mul#13
Double
18
Constant object 104289c3f040 (LexicalEnvironment)
Object
19
Constant object 104289c3e030 (global)
Object
20
Constant object 104289c41148 (Math)
Object
21
Constant object 104289c41148 (Math)
Object
22
GuardObjectIdentity ← Constant#20, Constant#21
Object
23
Constant function sin at 104289c6c350
Object
24
Constant 0x1
Int32
25
Constant function sin at 104289c6c350
Object
26
GuardSpecificFunction ← Constant#23, Constant#25
Object
27
Unbox Parameter#1 to Double (fallible)
Double
28
MathFunction ← Unbox#27 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
Double
30
Constant object 104289c3f040 (LexicalEnvironment)
Object
31
Constant object 104289c3e030 (global)
Object
32
Constant object 104289c41148 (Math)
Object
33
Constant object 104289c41148 (Math)
Object
34
GuardObjectIdentity ← Constant#32, Constant#33
Object
35
Constant function cos at 104289c6c0b0
Object
36
Constant 0x1
Int32
37
Constant function cos at 104289c6c0b0
Object
38
GuardSpecificFunction ← Constant#35, Constant#37
Object
39
Unbox Parameter#1 to Double (fallible)
Double
40
MathFunction ← Unbox#39 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
Double
42
Constant object 104289c3f040 (LexicalEnvironment)
Object
43
Constant object 104289c3e030 (global)
Object
44
Constant object 104289c41148 (Math)
Object
45
Constant object 104289c41148 (Math)
Object
46
GuardObjectIdentity ← Constant#44, Constant#45
Object
47
Constant function tan at 104289c6c3c0
Object
48
Constant 0x1
Int32
49
Constant function tan at 104289c6c3c0
Object
50
GuardSpecificFunction ← Constant#47, Constant#49
Object
51
Unbox Parameter#1 to Double (fallible)
Double
52
MathFunction ← Unbox#51 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
Double
54
Constant object 104289c3f040 (LexicalEnvironment)
Object
55
Constant object 104289c3e030 (global)
Object
56
Constant object 104289c41148 (Math)
Object
57
Constant object 104289c41148 (Math)
Object
58
GuardObjectIdentity ← Constant#56, Constant#57
Object
59
Constant function abs at 104289c63ee8
Object
60
Constant 0x1
Int32
61
Constant function abs at 104289c63ee8
Object
62
GuardSpecificFunction ← Constant#59, Constant#61
Object
63
Unbox Parameter#1 to Double (fallible)
Double
64
Abs ← Unbox#63
Double
65
Add ← Add#53, Abs#64 [double]
Double
66
Constant object 104289c3f040 (LexicalEnvironment)
Object
67
Constant object 104289c3e030 (global)
Object
68
Constant object 104289c41148 (Math)
Object
69
Constant object 104289c41148 (Math)
Object
70
GuardObjectIdentity ← Constant#68, Constant#69
Object
71
Constant function floor at 104289c6c120
Object
72
Constant 0x1
Int32
73
Constant function floor at 104289c6c120
Object
74
GuardSpecificFunction ← Constant#71, Constant#73
Object
75
Unbox Parameter#1 to Double (fallible)
Double
76
NearbyInt ← Unbox#75 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
Double
78
Constant object 104289c3f040 (LexicalEnvironment)
Object
79
Constant object 104289c3e030 (global)
Object
80
Constant object 104289c41148 (Math)
Object
81
Constant object 104289c41148 (Math)
Object
82
GuardObjectIdentity ← Constant#80, Constant#81
Object
83
Constant function ceil at 104289c6c040
Object
84
Constant 0x1
Int32
85
Constant function ceil at 104289c6c040
Object
86
GuardSpecificFunction ← Constant#83, Constant#85
Object
87
Unbox Parameter#1 to Double (fallible)
Double
88
NearbyInt ← Unbox#87 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
Double
90
Constant object 104289c3f040 (LexicalEnvironment)
Object
91
Constant object 104289c3e030 (global)
Object
92
Constant object 104289c41148 (Math)
Object
93
Constant object 104289c41148 (Math)
Object
94
GuardObjectIdentity ← Constant#92, Constant#93
Object
95
Constant function round at 104289c6c318
Object
96
Constant 0x1
Int32
97
Constant function round at 104289c6c318
Object
98
GuardSpecificFunction ← Constant#95, Constant#97
Object
99
Unbox Parameter#1 to Double (fallible)
Double
100
RoundToDouble ← Unbox#99
Double
101
Add ← Add#89, RoundToDouble#100 [double]
Double
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant object 104289c41148 (Math)
Object
105
Constant object 104289c41148 (Math)
Object
106
GuardObjectIdentity ← Constant#104, Constant#105
Object
107
Constant function log at 104289c6c200
Object
108
Constant 0x1
Int32
109
Unbox Parameter#1 to Double (fallible)
Double
110
Add ← Unbox#109, Constant#108 [double]
Double
111
Constant 0x1
Int32
112
Constant function log at 104289c6c200
Object
113
GuardSpecificFunction ← Constant#107, Constant#112
Object
114
MathFunction ← Add#110 Log
Double
115
Add ← Add#101, MathFunction#114 [double]
Double
116
Return ← Add#115
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant object 104289c3f040 (LexicalEnvironment)
Object
6
Constant object 104289c3e030 (global)
Object
7
Constant object 104289c41148 (Math)
Object
8
Constant object 104289c41148 (Math)
Object
9
GuardObjectIdentity ← Constant#7, Constant#8
Object
10
Constant function sqrt at 104289c6c388
Object
11
Unbox Parameter#1 to Double (fallible)
Double
12
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#12 [double]
Double
14
Constant 0x1
Int32
15
Constant function sqrt at 104289c6c388
Object
16
GuardSpecificFunction ← Constant#10, Constant#15
Object
17
Sqrt ← Mul#13
Double
18
Constant object 104289c3f040 (LexicalEnvironment)
Object
19
Constant object 104289c3e030 (global)
Object
20
Constant object 104289c41148 (Math)
Object
21
Constant object 104289c41148 (Math)
Object
22
GuardObjectIdentity ← Constant#20, Constant#21
Object
23
Constant function sin at 104289c6c350
Object
24
Constant 0x1
Int32
25
Constant function sin at 104289c6c350
Object
26
GuardSpecificFunction ← Constant#23, Constant#25
Object
27
Unbox Parameter#1 to Double (fallible)
Double
28
MathFunction ← Unbox#27 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
Double
30
Constant object 104289c3f040 (LexicalEnvironment)
Object
31
Constant object 104289c3e030 (global)
Object
32
Constant object 104289c41148 (Math)
Object
33
Constant object 104289c41148 (Math)
Object
34
GuardObjectIdentity ← Constant#32, Constant#33
Object
35
Constant function cos at 104289c6c0b0
Object
36
Constant 0x1
Int32
37
Constant function cos at 104289c6c0b0
Object
38
GuardSpecificFunction ← Constant#35, Constant#37
Object
39
Unbox Parameter#1 to Double (fallible)
Double
40
MathFunction ← Unbox#39 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
Double
42
Constant object 104289c3f040 (LexicalEnvironment)
Object
43
Constant object 104289c3e030 (global)
Object
44
Constant object 104289c41148 (Math)
Object
45
Constant object 104289c41148 (Math)
Object
46
GuardObjectIdentity ← Constant#44, Constant#45
Object
47
Constant function tan at 104289c6c3c0
Object
48
Constant 0x1
Int32
49
Constant function tan at 104289c6c3c0
Object
50
GuardSpecificFunction ← Constant#47, Constant#49
Object
51
Unbox Parameter#1 to Double (fallible)
Double
52
MathFunction ← Unbox#51 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
Double
54
Constant object 104289c3f040 (LexicalEnvironment)
Object
55
Constant object 104289c3e030 (global)
Object
56
Constant object 104289c41148 (Math)
Object
57
Constant object 104289c41148 (Math)
Object
58
GuardObjectIdentity ← Constant#56, Constant#57
Object
59
Constant function abs at 104289c63ee8
Object
60
Constant 0x1
Int32
61
Constant function abs at 104289c63ee8
Object
62
GuardSpecificFunction ← Constant#59, Constant#61
Object
63
Unbox Parameter#1 to Double (fallible)
Double
64
Abs ← Unbox#63
Double
65
Add ← Add#53, Abs#64 [double]
Double
66
Constant object 104289c3f040 (LexicalEnvironment)
Object
67
Constant object 104289c3e030 (global)
Object
68
Constant object 104289c41148 (Math)
Object
69
Constant object 104289c41148 (Math)
Object
70
GuardObjectIdentity ← Constant#68, Constant#69
Object
71
Constant function floor at 104289c6c120
Object
72
Constant 0x1
Int32
73
Constant function floor at 104289c6c120
Object
74
GuardSpecificFunction ← Constant#71, Constant#73
Object
75
Unbox Parameter#1 to Double (fallible)
Double
76
NearbyInt ← Unbox#75 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
Double
78
Constant object 104289c3f040 (LexicalEnvironment)
Object
79
Constant object 104289c3e030 (global)
Object
80
Constant object 104289c41148 (Math)
Object
81
Constant object 104289c41148 (Math)
Object
82
GuardObjectIdentity ← Constant#80, Constant#81
Object
83
Constant function ceil at 104289c6c040
Object
84
Constant 0x1
Int32
85
Constant function ceil at 104289c6c040
Object
86
GuardSpecificFunction ← Constant#83, Constant#85
Object
87
Unbox Parameter#1 to Double (fallible)
Double
88
NearbyInt ← Unbox#87 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
Double
90
Constant object 104289c3f040 (LexicalEnvironment)
Object
91
Constant object 104289c3e030 (global)
Object
92
Constant object 104289c41148 (Math)
Object
93
Constant object 104289c41148 (Math)
Object
94
GuardObjectIdentity ← Constant#92, Constant#93
Object
95
Constant function round at 104289c6c318
Object
96
Constant 0x1
Int32
97
Constant function round at 104289c6c318
Object
98
GuardSpecificFunction ← Constant#95, Constant#97
Object
99
Unbox Parameter#1 to Double (fallible)
Double
100
RoundToDouble ← Unbox#99
Double
101
Add ← Add#89, RoundToDouble#100 [double]
Double
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant object 104289c41148 (Math)
Object
105
Constant object 104289c41148 (Math)
Object
106
GuardObjectIdentity ← Constant#104, Constant#105
Object
107
Constant function log at 104289c6c200
Object
108
Constant 0x1
Int32
109
Unbox Parameter#1 to Double (fallible)
Double
110
Add ← Unbox#109, Constant#108 [double]
Double
111
Constant 0x1
Int32
112
Constant function log at 104289c6c200
Object
113
GuardSpecificFunction ← Constant#107, Constant#112
Object
114
MathFunction ← Add#110 Log
Double
115
Add ← Add#101, MathFunction#114 [double]
Double
116
Return ← Add#115
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant object 104289c3f040 (LexicalEnvironment)
Object
6
Constant object 104289c3e030 (global)
Object
7
Constant object 104289c41148 (Math)
Object
8
Constant object 104289c41148 (Math)
Object
9
GuardObjectIdentity ← Constant#7, Constant#8
Object
10
Constant function sqrt at 104289c6c388
Object
11
Unbox Parameter#1 to Double (fallible)
Double
12
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#12 [double]
Double
14
Constant 0x1
Int32
15
Constant function sqrt at 104289c6c388
Object
16
GuardSpecificFunction ← Constant#10, Constant#15
Object
17
Sqrt ← Mul#13
Double
18
Constant object 104289c3f040 (LexicalEnvironment)
Object
19
Constant object 104289c3e030 (global)
Object
20
Constant object 104289c41148 (Math)
Object
21
Constant object 104289c41148 (Math)
Object
22
GuardObjectIdentity ← Constant#20, Constant#21
Object
23
Constant function sin at 104289c6c350
Object
24
Constant 0x1
Int32
25
Constant function sin at 104289c6c350
Object
26
GuardSpecificFunction ← Constant#23, Constant#25
Object
27
Unbox Parameter#1 to Double (fallible)
Double
28
MathFunction ← Unbox#27 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
Double
30
Constant object 104289c3f040 (LexicalEnvironment)
Object
31
Constant object 104289c3e030 (global)
Object
32
Constant object 104289c41148 (Math)
Object
33
Constant object 104289c41148 (Math)
Object
34
GuardObjectIdentity ← Constant#32, Constant#33
Object
35
Constant function cos at 104289c6c0b0
Object
36
Constant 0x1
Int32
37
Constant function cos at 104289c6c0b0
Object
38
GuardSpecificFunction ← Constant#35, Constant#37
Object
39
Unbox Parameter#1 to Double (fallible)
Double
40
MathFunction ← Unbox#39 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
Double
42
Constant object 104289c3f040 (LexicalEnvironment)
Object
43
Constant object 104289c3e030 (global)
Object
44
Constant object 104289c41148 (Math)
Object
45
Constant object 104289c41148 (Math)
Object
46
GuardObjectIdentity ← Constant#44, Constant#45
Object
47
Constant function tan at 104289c6c3c0
Object
48
Constant 0x1
Int32
49
Constant function tan at 104289c6c3c0
Object
50
GuardSpecificFunction ← Constant#47, Constant#49
Object
51
Unbox Parameter#1 to Double (fallible)
Double
52
MathFunction ← Unbox#51 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
Double
54
Constant object 104289c3f040 (LexicalEnvironment)
Object
55
Constant object 104289c3e030 (global)
Object
56
Constant object 104289c41148 (Math)
Object
57
Constant object 104289c41148 (Math)
Object
58
GuardObjectIdentity ← Constant#56, Constant#57
Object
59
Constant function abs at 104289c63ee8
Object
60
Constant 0x1
Int32
61
Constant function abs at 104289c63ee8
Object
62
GuardSpecificFunction ← Constant#59, Constant#61
Object
63
Unbox Parameter#1 to Double (fallible)
Double
64
Abs ← Unbox#63
Double
65
Add ← Add#53, Abs#64 [double]
Double
66
Constant object 104289c3f040 (LexicalEnvironment)
Object
67
Constant object 104289c3e030 (global)
Object
68
Constant object 104289c41148 (Math)
Object
69
Constant object 104289c41148 (Math)
Object
70
GuardObjectIdentity ← Constant#68, Constant#69
Object
71
Constant function floor at 104289c6c120
Object
72
Constant 0x1
Int32
73
Constant function floor at 104289c6c120
Object
74
GuardSpecificFunction ← Constant#71, Constant#73
Object
75
Unbox Parameter#1 to Double (fallible)
Double
76
NearbyInt ← Unbox#75 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
Double
78
Constant object 104289c3f040 (LexicalEnvironment)
Object
79
Constant object 104289c3e030 (global)
Object
80
Constant object 104289c41148 (Math)
Object
81
Constant object 104289c41148 (Math)
Object
82
GuardObjectIdentity ← Constant#80, Constant#81
Object
83
Constant function ceil at 104289c6c040
Object
84
Constant 0x1
Int32
85
Constant function ceil at 104289c6c040
Object
86
GuardSpecificFunction ← Constant#83, Constant#85
Object
87
Unbox Parameter#1 to Double (fallible)
Double
88
NearbyInt ← Unbox#87 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
Double
90
Constant object 104289c3f040 (LexicalEnvironment)
Object
91
Constant object 104289c3e030 (global)
Object
92
Constant object 104289c41148 (Math)
Object
93
Constant object 104289c41148 (Math)
Object
94
GuardObjectIdentity ← Constant#92, Constant#93
Object
95
Constant function round at 104289c6c318
Object
96
Constant 0x1
Int32
97
Constant function round at 104289c6c318
Object
98
GuardSpecificFunction ← Constant#95, Constant#97
Object
99
Unbox Parameter#1 to Double (fallible)
Double
100
RoundToDouble ← Unbox#99
Double
101
Add ← Add#89, RoundToDouble#100 [double]
Double
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant object 104289c41148 (Math)
Object
105
Constant object 104289c41148 (Math)
Object
106
GuardObjectIdentity ← Constant#104, Constant#105
Object
107
Constant function log at 104289c6c200
Object
108
Constant 0x1
Int32
109
Unbox Parameter#1 to Double (fallible)
Double
110
Add ← Unbox#109, Constant#108 [double]
Double
111
Constant 0x1
Int32
112
Constant function log at 104289c6c200
Object
113
GuardSpecificFunction ← Constant#107, Constant#112
Object
114
MathFunction ← Add#110 Log
Double
115
Add ← Add#101, MathFunction#114 [double]
Double
116
Return ← Add#115
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant object 104289c3f040 (LexicalEnvironment)
Object
6
Constant object 104289c3e030 (global)
Object
7
Constant object 104289c41148 (Math)
Object
8
Constant object 104289c41148 (Math)
Object
9
GuardObjectIdentity ← Constant#7, Constant#8
Object
10
Constant function sqrt at 104289c6c388
Object
11
Unbox Parameter#1 to Double (fallible)
Double
12
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#12 [double]
Double
14
Constant 0x1
Int32
15
Constant function sqrt at 104289c6c388
Object
16
GuardSpecificFunction ← Constant#10, Constant#15
Object
17
Sqrt ← Mul#13
Double
18
Constant object 104289c3f040 (LexicalEnvironment)
Object
19
Constant object 104289c3e030 (global)
Object
20
Constant object 104289c41148 (Math)
Object
21
Constant object 104289c41148 (Math)
Object
22
GuardObjectIdentity ← Constant#20, Constant#21
Object
23
Constant function sin at 104289c6c350
Object
24
Constant 0x1
Int32
25
Constant function sin at 104289c6c350
Object
26
GuardSpecificFunction ← Constant#23, Constant#25
Object
27
Unbox Parameter#1 to Double (fallible)
Double
28
MathFunction ← Unbox#27 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
Double
30
Constant object 104289c3f040 (LexicalEnvironment)
Object
31
Constant object 104289c3e030 (global)
Object
32
Constant object 104289c41148 (Math)
Object
33
Constant object 104289c41148 (Math)
Object
34
GuardObjectIdentity ← Constant#32, Constant#33
Object
35
Constant function cos at 104289c6c0b0
Object
36
Constant 0x1
Int32
37
Constant function cos at 104289c6c0b0
Object
38
GuardSpecificFunction ← Constant#35, Constant#37
Object
39
Unbox Parameter#1 to Double (fallible)
Double
40
MathFunction ← Unbox#39 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
Double
42
Constant object 104289c3f040 (LexicalEnvironment)
Object
43
Constant object 104289c3e030 (global)
Object
44
Constant object 104289c41148 (Math)
Object
45
Constant object 104289c41148 (Math)
Object
46
GuardObjectIdentity ← Constant#44, Constant#45
Object
47
Constant function tan at 104289c6c3c0
Object
48
Constant 0x1
Int32
49
Constant function tan at 104289c6c3c0
Object
50
GuardSpecificFunction ← Constant#47, Constant#49
Object
51
Unbox Parameter#1 to Double (fallible)
Double
52
MathFunction ← Unbox#51 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
Double
54
Constant object 104289c3f040 (LexicalEnvironment)
Object
55
Constant object 104289c3e030 (global)
Object
56
Constant object 104289c41148 (Math)
Object
57
Constant object 104289c41148 (Math)
Object
58
GuardObjectIdentity ← Constant#56, Constant#57
Object
59
Constant function abs at 104289c63ee8
Object
60
Constant 0x1
Int32
61
Constant function abs at 104289c63ee8
Object
62
GuardSpecificFunction ← Constant#59, Constant#61
Object
63
Unbox Parameter#1 to Double (fallible)
Double
64
Abs ← Unbox#63
Double
65
Add ← Add#53, Abs#64 [double]
Double
66
Constant object 104289c3f040 (LexicalEnvironment)
Object
67
Constant object 104289c3e030 (global)
Object
68
Constant object 104289c41148 (Math)
Object
69
Constant object 104289c41148 (Math)
Object
70
GuardObjectIdentity ← Constant#68, Constant#69
Object
71
Constant function floor at 104289c6c120
Object
72
Constant 0x1
Int32
73
Constant function floor at 104289c6c120
Object
74
GuardSpecificFunction ← Constant#71, Constant#73
Object
75
Unbox Parameter#1 to Double (fallible)
Double
76
NearbyInt ← Unbox#75 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
Double
78
Constant object 104289c3f040 (LexicalEnvironment)
Object
79
Constant object 104289c3e030 (global)
Object
80
Constant object 104289c41148 (Math)
Object
81
Constant object 104289c41148 (Math)
Object
82
GuardObjectIdentity ← Constant#80, Constant#81
Object
83
Constant function ceil at 104289c6c040
Object
84
Constant 0x1
Int32
85
Constant function ceil at 104289c6c040
Object
86
GuardSpecificFunction ← Constant#83, Constant#85
Object
87
Unbox Parameter#1 to Double (fallible)
Double
88
NearbyInt ← Unbox#87 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
Double
90
Constant object 104289c3f040 (LexicalEnvironment)
Object
91
Constant object 104289c3e030 (global)
Object
92
Constant object 104289c41148 (Math)
Object
93
Constant object 104289c41148 (Math)
Object
94
GuardObjectIdentity ← Constant#92, Constant#93
Object
95
Constant function round at 104289c6c318
Object
96
Constant 0x1
Int32
97
Constant function round at 104289c6c318
Object
98
GuardSpecificFunction ← Constant#95, Constant#97
Object
99
Unbox Parameter#1 to Double (fallible)
Double
100
RoundToDouble ← Unbox#99
Double
101
Add ← Add#89, RoundToDouble#100 [double]
Double
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant object 104289c41148 (Math)
Object
105
Constant object 104289c41148 (Math)
Object
106
GuardObjectIdentity ← Constant#104, Constant#105
Object
107
Constant function log at 104289c6c200
Object
108
Constant 0x1
Int32
109
Unbox Parameter#1 to Double (fallible)
Double
110
Add ← Unbox#109, Constant#108 [double]
Double
111
Constant 0x1
Int32
112
Constant function log at 104289c6c200
Object
113
GuardSpecificFunction ← Constant#107, Constant#112
Object
114
MathFunction ← Add#110 Log
Double
115
Add ← Add#101, MathFunction#114 [double]
Double
116
Return ← Add#115
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant object 104289c3f040 (LexicalEnvironment)
Object
6
Constant object 104289c3e030 (global)
Object
7
Constant object 104289c41148 (Math)
Object
8
Constant object 104289c41148 (Math)
Object
9
GuardObjectIdentity ← Constant#7, Constant#8
Object
10
Constant function sqrt at 104289c6c388
Object
11
Unbox Parameter#1 to Double (fallible)
Double
12
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#12 [double]
Double
14
Constant 0x1
Int32
15
Constant function sqrt at 104289c6c388
Object
16
GuardSpecificFunction ← Constant#10, Constant#15
Object
17
Sqrt ← Mul#13
Double
18
Constant object 104289c3f040 (LexicalEnvironment)
Object
19
Constant object 104289c3e030 (global)
Object
20
Constant object 104289c41148 (Math)
Object
21
Constant object 104289c41148 (Math)
Object
22
GuardObjectIdentity ← Constant#20, Constant#21
Object
23
Constant function sin at 104289c6c350
Object
24
Constant 0x1
Int32
25
Constant function sin at 104289c6c350
Object
26
GuardSpecificFunction ← Constant#23, Constant#25
Object
27
Unbox Parameter#1 to Double (fallible)
Double
28
MathFunction ← Unbox#27 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
Double
30
Constant object 104289c3f040 (LexicalEnvironment)
Object
31
Constant object 104289c3e030 (global)
Object
32
Constant object 104289c41148 (Math)
Object
33
Constant object 104289c41148 (Math)
Object
34
GuardObjectIdentity ← Constant#32, Constant#33
Object
35
Constant function cos at 104289c6c0b0
Object
36
Constant 0x1
Int32
37
Constant function cos at 104289c6c0b0
Object
38
GuardSpecificFunction ← Constant#35, Constant#37
Object
39
Unbox Parameter#1 to Double (fallible)
Double
40
MathFunction ← Unbox#39 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
Double
42
Constant object 104289c3f040 (LexicalEnvironment)
Object
43
Constant object 104289c3e030 (global)
Object
44
Constant object 104289c41148 (Math)
Object
45
Constant object 104289c41148 (Math)
Object
46
GuardObjectIdentity ← Constant#44, Constant#45
Object
47
Constant function tan at 104289c6c3c0
Object
48
Constant 0x1
Int32
49
Constant function tan at 104289c6c3c0
Object
50
GuardSpecificFunction ← Constant#47, Constant#49
Object
51
Unbox Parameter#1 to Double (fallible)
Double
52
MathFunction ← Unbox#51 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
Double
54
Constant object 104289c3f040 (LexicalEnvironment)
Object
55
Constant object 104289c3e030 (global)
Object
56
Constant object 104289c41148 (Math)
Object
57
Constant object 104289c41148 (Math)
Object
58
GuardObjectIdentity ← Constant#56, Constant#57
Object
59
Constant function abs at 104289c63ee8
Object
60
Constant 0x1
Int32
61
Constant function abs at 104289c63ee8
Object
62
GuardSpecificFunction ← Constant#59, Constant#61
Object
63
Unbox Parameter#1 to Double (fallible)
Double
64
Abs ← Unbox#63
Double
65
Add ← Add#53, Abs#64 [double]
Double
66
Constant object 104289c3f040 (LexicalEnvironment)
Object
67
Constant object 104289c3e030 (global)
Object
68
Constant object 104289c41148 (Math)
Object
69
Constant object 104289c41148 (Math)
Object
70
GuardObjectIdentity ← Constant#68, Constant#69
Object
71
Constant function floor at 104289c6c120
Object
72
Constant 0x1
Int32
73
Constant function floor at 104289c6c120
Object
74
GuardSpecificFunction ← Constant#71, Constant#73
Object
75
Unbox Parameter#1 to Double (fallible)
Double
76
NearbyInt ← Unbox#75 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
Double
78
Constant object 104289c3f040 (LexicalEnvironment)
Object
79
Constant object 104289c3e030 (global)
Object
80
Constant object 104289c41148 (Math)
Object
81
Constant object 104289c41148 (Math)
Object
82
GuardObjectIdentity ← Constant#80, Constant#81
Object
83
Constant function ceil at 104289c6c040
Object
84
Constant 0x1
Int32
85
Constant function ceil at 104289c6c040
Object
86
GuardSpecificFunction ← Constant#83, Constant#85
Object
87
Unbox Parameter#1 to Double (fallible)
Double
88
NearbyInt ← Unbox#87 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
Double
90
Constant object 104289c3f040 (LexicalEnvironment)
Object
91
Constant object 104289c3e030 (global)
Object
92
Constant object 104289c41148 (Math)
Object
93
Constant object 104289c41148 (Math)
Object
94
GuardObjectIdentity ← Constant#92, Constant#93
Object
95
Constant function round at 104289c6c318
Object
96
Constant 0x1
Int32
97
Constant function round at 104289c6c318
Object
98
GuardSpecificFunction ← Constant#95, Constant#97
Object
99
Unbox Parameter#1 to Double (fallible)
Double
100
RoundToDouble ← Unbox#99
Double
101
Add ← Add#89, RoundToDouble#100 [double]
Double
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant object 104289c41148 (Math)
Object
105
Constant object 104289c41148 (Math)
Object
106
GuardObjectIdentity ← Constant#104, Constant#105
Object
107
Constant function log at 104289c6c200
Object
108
Constant 0x1
Int32
109
Unbox Parameter#1 to Double (fallible)
Double
110
Add ← Unbox#109, Constant#108 [double]
Double
111
Constant 0x1
Int32
112
Constant function log at 104289c6c200
Object
113
GuardSpecificFunction ← Constant#107, Constant#112
Object
114
MathFunction ← Add#110 Log
Double
115
Add ← Add#101, MathFunction#114 [double]
Double
116
Return ← Add#115
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant object 104289c3f040 (LexicalEnvironment)
Object
6
Constant object 104289c3e030 (global)
Object
7
Constant object 104289c41148 (Math)
Object
8
Constant object 104289c41148 (Math)
Object
9
GuardObjectIdentity ← Constant#7, Constant#8
Object
10
Constant function sqrt at 104289c6c388
Object
11
Unbox Parameter#1 to Double (fallible)
Double
12
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#12 [double]
Double
14
Constant 0x1
Int32
15
Constant function sqrt at 104289c6c388
Object
16
GuardSpecificFunction ← Constant#10, Constant#15
Object
17
Sqrt ← Mul#13
Double
18
Constant object 104289c3f040 (LexicalEnvironment)
Object
19
Constant object 104289c3e030 (global)
Object
20
Constant object 104289c41148 (Math)
Object
21
Constant object 104289c41148 (Math)
Object
22
GuardObjectIdentity ← Constant#20, Constant#21
Object
23
Constant function sin at 104289c6c350
Object
24
Constant 0x1
Int32
25
Constant function sin at 104289c6c350
Object
26
GuardSpecificFunction ← Constant#23, Constant#25
Object
27
Unbox Parameter#1 to Double (fallible)
Double
28
MathFunction ← Unbox#27 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
Double
30
Constant object 104289c3f040 (LexicalEnvironment)
Object
31
Constant object 104289c3e030 (global)
Object
32
Constant object 104289c41148 (Math)
Object
33
Constant object 104289c41148 (Math)
Object
34
GuardObjectIdentity ← Constant#32, Constant#33
Object
35
Constant function cos at 104289c6c0b0
Object
36
Constant 0x1
Int32
37
Constant function cos at 104289c6c0b0
Object
38
GuardSpecificFunction ← Constant#35, Constant#37
Object
39
Unbox Parameter#1 to Double (fallible)
Double
40
MathFunction ← Unbox#39 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
Double
42
Constant object 104289c3f040 (LexicalEnvironment)
Object
43
Constant object 104289c3e030 (global)
Object
44
Constant object 104289c41148 (Math)
Object
45
Constant object 104289c41148 (Math)
Object
46
GuardObjectIdentity ← Constant#44, Constant#45
Object
47
Constant function tan at 104289c6c3c0
Object
48
Constant 0x1
Int32
49
Constant function tan at 104289c6c3c0
Object
50
GuardSpecificFunction ← Constant#47, Constant#49
Object
51
Unbox Parameter#1 to Double (fallible)
Double
52
MathFunction ← Unbox#51 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
Double
54
Constant object 104289c3f040 (LexicalEnvironment)
Object
55
Constant object 104289c3e030 (global)
Object
56
Constant object 104289c41148 (Math)
Object
57
Constant object 104289c41148 (Math)
Object
58
GuardObjectIdentity ← Constant#56, Constant#57
Object
59
Constant function abs at 104289c63ee8
Object
60
Constant 0x1
Int32
61
Constant function abs at 104289c63ee8
Object
62
GuardSpecificFunction ← Constant#59, Constant#61
Object
63
Unbox Parameter#1 to Double (fallible)
Double
64
Abs ← Unbox#63
Double
65
Add ← Add#53, Abs#64 [double]
Double
66
Constant object 104289c3f040 (LexicalEnvironment)
Object
67
Constant object 104289c3e030 (global)
Object
68
Constant object 104289c41148 (Math)
Object
69
Constant object 104289c41148 (Math)
Object
70
GuardObjectIdentity ← Constant#68, Constant#69
Object
71
Constant function floor at 104289c6c120
Object
72
Constant 0x1
Int32
73
Constant function floor at 104289c6c120
Object
74
GuardSpecificFunction ← Constant#71, Constant#73
Object
75
Unbox Parameter#1 to Double (fallible)
Double
76
NearbyInt ← Unbox#75 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
Double
78
Constant object 104289c3f040 (LexicalEnvironment)
Object
79
Constant object 104289c3e030 (global)
Object
80
Constant object 104289c41148 (Math)
Object
81
Constant object 104289c41148 (Math)
Object
82
GuardObjectIdentity ← Constant#80, Constant#81
Object
83
Constant function ceil at 104289c6c040
Object
84
Constant 0x1
Int32
85
Constant function ceil at 104289c6c040
Object
86
GuardSpecificFunction ← Constant#83, Constant#85
Object
87
Unbox Parameter#1 to Double (fallible)
Double
88
NearbyInt ← Unbox#87 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
Double
90
Constant object 104289c3f040 (LexicalEnvironment)
Object
91
Constant object 104289c3e030 (global)
Object
92
Constant object 104289c41148 (Math)
Object
93
Constant object 104289c41148 (Math)
Object
94
GuardObjectIdentity ← Constant#92, Constant#93
Object
95
Constant function round at 104289c6c318
Object
96
Constant 0x1
Int32
97
Constant function round at 104289c6c318
Object
98
GuardSpecificFunction ← Constant#95, Constant#97
Object
99
Unbox Parameter#1 to Double (fallible)
Double
100
RoundToDouble ← Unbox#99
Double
101
Add ← Add#89, RoundToDouble#100 [double]
Double
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant object 104289c41148 (Math)
Object
105
Constant object 104289c41148 (Math)
Object
106
GuardObjectIdentity ← Constant#104, Constant#105
Object
107
Constant function log at 104289c6c200
Object
108
Constant 0x1
Int32
109
Unbox Parameter#1 to Double (fallible)
Double
110
Add ← Unbox#109, Constant#108 [double]
Double
111
Constant 0x1
Int32
112
Constant function log at 104289c6c200
Object
113
GuardSpecificFunction ← Constant#107, Constant#112
Object
114
MathFunction ← Add#110 Log
Double
115
Add ← Add#101, MathFunction#114 [double]
Double
116
Return ← Add#115
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant object 104289c3f040 (LexicalEnvironment)
Object
6
Constant object 104289c3e030 (global)
Object
7
Constant object 104289c41148 (Math)
Object
8
Constant object 104289c41148 (Math)
Object
9
GuardObjectIdentity ← Constant#7, Constant#8
Object
10
Constant function sqrt at 104289c6c388
Object
11
Unbox Parameter#1 to Double (fallible)
Double
12
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#12 [double]
Double
14
Constant 0x1
Int32
15
Constant function sqrt at 104289c6c388
Object
16
GuardSpecificFunction ← Constant#10, Constant#15
Object
17
Sqrt ← Mul#13
Double
18
Constant object 104289c3f040 (LexicalEnvironment)
Object
19
Constant object 104289c3e030 (global)
Object
20
Constant object 104289c41148 (Math)
Object
21
Constant object 104289c41148 (Math)
Object
22
GuardObjectIdentity ← Constant#20, Constant#21
Object
23
Constant function sin at 104289c6c350
Object
24
Constant 0x1
Int32
25
Constant function sin at 104289c6c350
Object
26
GuardSpecificFunction ← Constant#23, Constant#25
Object
27
Unbox Parameter#1 to Double (fallible)
Double
28
MathFunction ← Unbox#27 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
Double
30
Constant object 104289c3f040 (LexicalEnvironment)
Object
31
Constant object 104289c3e030 (global)
Object
32
Constant object 104289c41148 (Math)
Object
33
Constant object 104289c41148 (Math)
Object
34
GuardObjectIdentity ← Constant#32, Constant#33
Object
35
Constant function cos at 104289c6c0b0
Object
36
Constant 0x1
Int32
37
Constant function cos at 104289c6c0b0
Object
38
GuardSpecificFunction ← Constant#35, Constant#37
Object
39
Unbox Parameter#1 to Double (fallible)
Double
40
MathFunction ← Unbox#39 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
Double
42
Constant object 104289c3f040 (LexicalEnvironment)
Object
43
Constant object 104289c3e030 (global)
Object
44
Constant object 104289c41148 (Math)
Object
45
Constant object 104289c41148 (Math)
Object
46
GuardObjectIdentity ← Constant#44, Constant#45
Object
47
Constant function tan at 104289c6c3c0
Object
48
Constant 0x1
Int32
49
Constant function tan at 104289c6c3c0
Object
50
GuardSpecificFunction ← Constant#47, Constant#49
Object
51
Unbox Parameter#1 to Double (fallible)
Double
52
MathFunction ← Unbox#51 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
Double
54
Constant object 104289c3f040 (LexicalEnvironment)
Object
55
Constant object 104289c3e030 (global)
Object
56
Constant object 104289c41148 (Math)
Object
57
Constant object 104289c41148 (Math)
Object
58
GuardObjectIdentity ← Constant#56, Constant#57
Object
59
Constant function abs at 104289c63ee8
Object
60
Constant 0x1
Int32
61
Constant function abs at 104289c63ee8
Object
62
GuardSpecificFunction ← Constant#59, Constant#61
Object
63
Unbox Parameter#1 to Double (fallible)
Double
64
Abs ← Unbox#63
Double
65
Add ← Add#53, Abs#64 [double]
Double
66
Constant object 104289c3f040 (LexicalEnvironment)
Object
67
Constant object 104289c3e030 (global)
Object
68
Constant object 104289c41148 (Math)
Object
69
Constant object 104289c41148 (Math)
Object
70
GuardObjectIdentity ← Constant#68, Constant#69
Object
71
Constant function floor at 104289c6c120
Object
72
Constant 0x1
Int32
73
Constant function floor at 104289c6c120
Object
74
GuardSpecificFunction ← Constant#71, Constant#73
Object
75
Unbox Parameter#1 to Double (fallible)
Double
76
NearbyInt ← Unbox#75 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
Double
78
Constant object 104289c3f040 (LexicalEnvironment)
Object
79
Constant object 104289c3e030 (global)
Object
80
Constant object 104289c41148 (Math)
Object
81
Constant object 104289c41148 (Math)
Object
82
GuardObjectIdentity ← Constant#80, Constant#81
Object
83
Constant function ceil at 104289c6c040
Object
84
Constant 0x1
Int32
85
Constant function ceil at 104289c6c040
Object
86
GuardSpecificFunction ← Constant#83, Constant#85
Object
87
Unbox Parameter#1 to Double (fallible)
Double
88
NearbyInt ← Unbox#87 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
Double
90
Constant object 104289c3f040 (LexicalEnvironment)
Object
91
Constant object 104289c3e030 (global)
Object
92
Constant object 104289c41148 (Math)
Object
93
Constant object 104289c41148 (Math)
Object
94
GuardObjectIdentity ← Constant#92, Constant#93
Object
95
Constant function round at 104289c6c318
Object
96
Constant 0x1
Int32
97
Constant function round at 104289c6c318
Object
98
GuardSpecificFunction ← Constant#95, Constant#97
Object
99
Unbox Parameter#1 to Double (fallible)
Double
100
RoundToDouble ← Unbox#99
Double
101
Add ← Add#89, RoundToDouble#100 [double]
Double
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant object 104289c41148 (Math)
Object
105
Constant object 104289c41148 (Math)
Object
106
GuardObjectIdentity ← Constant#104, Constant#105
Object
107
Constant function log at 104289c6c200
Object
108
Constant 0x1
Int32
109
Unbox Parameter#1 to Double (fallible)
Double
110
Add ← Unbox#109, Constant#108 [double]
Double
111
Constant 0x1
Int32
112
Constant function log at 104289c6c200
Object
113
GuardSpecificFunction ← Constant#107, Constant#112
Object
114
MathFunction ← Add#110 Log
Double
115
Add ← Add#101, MathFunction#114 [double]
Double
116
Return ← Add#115
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant object 104289c3f040 (LexicalEnvironment)
Object
6
Constant object 104289c3e030 (global)
Object
7
Constant object 104289c41148 (Math)
Object
8
Constant object 104289c41148 (Math)
Object
9
GuardObjectIdentity ← Constant#7, Constant#8
Object
10
Constant function sqrt at 104289c6c388
Object
11
Unbox Parameter#1 to Double (fallible)
Double
12
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#12 [double]
Double
14
Constant 0x1
Int32
15
Constant function sqrt at 104289c6c388
Object
16
GuardSpecificFunction ← Constant#10, Constant#15
Object
17
Sqrt ← Mul#13
Double
18
Constant object 104289c3f040 (LexicalEnvironment)
Object
19
Constant object 104289c3e030 (global)
Object
20
Constant object 104289c41148 (Math)
Object
21
Constant object 104289c41148 (Math)
Object
22
GuardObjectIdentity ← Constant#20, Constant#21
Object
23
Constant function sin at 104289c6c350
Object
24
Constant 0x1
Int32
25
Constant function sin at 104289c6c350
Object
26
GuardSpecificFunction ← Constant#23, Constant#25
Object
27
Unbox Parameter#1 to Double (fallible)
Double
28
MathFunction ← Unbox#27 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
Double
30
Constant object 104289c3f040 (LexicalEnvironment)
Object
31
Constant object 104289c3e030 (global)
Object
32
Constant object 104289c41148 (Math)
Object
33
Constant object 104289c41148 (Math)
Object
34
GuardObjectIdentity ← Constant#32, Constant#33
Object
35
Constant function cos at 104289c6c0b0
Object
36
Constant 0x1
Int32
37
Constant function cos at 104289c6c0b0
Object
38
GuardSpecificFunction ← Constant#35, Constant#37
Object
39
Unbox Parameter#1 to Double (fallible)
Double
40
MathFunction ← Unbox#39 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
Double
42
Constant object 104289c3f040 (LexicalEnvironment)
Object
43
Constant object 104289c3e030 (global)
Object
44
Constant object 104289c41148 (Math)
Object
45
Constant object 104289c41148 (Math)
Object
46
GuardObjectIdentity ← Constant#44, Constant#45
Object
47
Constant function tan at 104289c6c3c0
Object
48
Constant 0x1
Int32
49
Constant function tan at 104289c6c3c0
Object
50
GuardSpecificFunction ← Constant#47, Constant#49
Object
51
Unbox Parameter#1 to Double (fallible)
Double
52
MathFunction ← Unbox#51 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
Double
54
Constant object 104289c3f040 (LexicalEnvironment)
Object
55
Constant object 104289c3e030 (global)
Object
56
Constant object 104289c41148 (Math)
Object
57
Constant object 104289c41148 (Math)
Object
58
GuardObjectIdentity ← Constant#56, Constant#57
Object
59
Constant function abs at 104289c63ee8
Object
60
Constant 0x1
Int32
61
Constant function abs at 104289c63ee8
Object
62
GuardSpecificFunction ← Constant#59, Constant#61
Object
63
Unbox Parameter#1 to Double (fallible)
Double
64
Abs ← Unbox#63
Double
65
Add ← Add#53, Abs#64 [double]
Double
66
Constant object 104289c3f040 (LexicalEnvironment)
Object
67
Constant object 104289c3e030 (global)
Object
68
Constant object 104289c41148 (Math)
Object
69
Constant object 104289c41148 (Math)
Object
70
GuardObjectIdentity ← Constant#68, Constant#69
Object
71
Constant function floor at 104289c6c120
Object
72
Constant 0x1
Int32
73
Constant function floor at 104289c6c120
Object
74
GuardSpecificFunction ← Constant#71, Constant#73
Object
75
Unbox Parameter#1 to Double (fallible)
Double
76
NearbyInt ← Unbox#75 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
Double
78
Constant object 104289c3f040 (LexicalEnvironment)
Object
79
Constant object 104289c3e030 (global)
Object
80
Constant object 104289c41148 (Math)
Object
81
Constant object 104289c41148 (Math)
Object
82
GuardObjectIdentity ← Constant#80, Constant#81
Object
83
Constant function ceil at 104289c6c040
Object
84
Constant 0x1
Int32
85
Constant function ceil at 104289c6c040
Object
86
GuardSpecificFunction ← Constant#83, Constant#85
Object
87
Unbox Parameter#1 to Double (fallible)
Double
88
NearbyInt ← Unbox#87 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
Double
90
Constant object 104289c3f040 (LexicalEnvironment)
Object
91
Constant object 104289c3e030 (global)
Object
92
Constant object 104289c41148 (Math)
Object
93
Constant object 104289c41148 (Math)
Object
94
GuardObjectIdentity ← Constant#92, Constant#93
Object
95
Constant function round at 104289c6c318
Object
96
Constant 0x1
Int32
97
Constant function round at 104289c6c318
Object
98
GuardSpecificFunction ← Constant#95, Constant#97
Object
99
Unbox Parameter#1 to Double (fallible)
Double
100
RoundToDouble ← Unbox#99
Double
101
Add ← Add#89, RoundToDouble#100 [double]
Double
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant object 104289c41148 (Math)
Object
105
Constant object 104289c41148 (Math)
Object
106
GuardObjectIdentity ← Constant#104, Constant#105
Object
107
Constant function log at 104289c6c200
Object
108
Constant 0x1
Int32
109
Unbox Parameter#1 to Double (fallible)
Double
110
Add ← Unbox#109, Constant#108 [double]
Double
111
Constant 0x1
Int32
112
Constant function log at 104289c6c200
Object
113
GuardSpecificFunction ← Constant#107, Constant#112
Object
114
MathFunction ← Add#110 Log
Double
115
Add ← Add#101, MathFunction#114 [double]
Double
116
Return ← Add#115
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant object 104289c3f040 (LexicalEnvironment)
Object
6
Constant object 104289c3e030 (global)
Object
7
Constant object 104289c41148 (Math)
Object
8
Constant object 104289c41148 (Math)
Object
9
GuardObjectIdentity ← Constant#7, Constant#8
Object
10
Constant function sqrt at 104289c6c388
Object
11
Unbox Parameter#1 to Double (fallible)
Double
12
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#12 [double]
Double
14
Constant 0x1
Int32
15
Constant function sqrt at 104289c6c388
Object
16
GuardSpecificFunction ← Constant#10, Constant#15
Object
17
Sqrt ← Mul#13
Double
18
Constant object 104289c3f040 (LexicalEnvironment)
Object
19
Constant object 104289c3e030 (global)
Object
20
Constant object 104289c41148 (Math)
Object
21
Constant object 104289c41148 (Math)
Object
22
GuardObjectIdentity ← Constant#20, Constant#21
Object
23
Constant function sin at 104289c6c350
Object
24
Constant 0x1
Int32
25
Constant function sin at 104289c6c350
Object
26
GuardSpecificFunction ← Constant#23, Constant#25
Object
27
Unbox Parameter#1 to Double (fallible)
Double
28
MathFunction ← Unbox#27 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
Double
30
Constant object 104289c3f040 (LexicalEnvironment)
Object
31
Constant object 104289c3e030 (global)
Object
32
Constant object 104289c41148 (Math)
Object
33
Constant object 104289c41148 (Math)
Object
34
GuardObjectIdentity ← Constant#32, Constant#33
Object
35
Constant function cos at 104289c6c0b0
Object
36
Constant 0x1
Int32
37
Constant function cos at 104289c6c0b0
Object
38
GuardSpecificFunction ← Constant#35, Constant#37
Object
39
Unbox Parameter#1 to Double (fallible)
Double
40
MathFunction ← Unbox#39 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
Double
42
Constant object 104289c3f040 (LexicalEnvironment)
Object
43
Constant object 104289c3e030 (global)
Object
44
Constant object 104289c41148 (Math)
Object
45
Constant object 104289c41148 (Math)
Object
46
GuardObjectIdentity ← Constant#44, Constant#45
Object
47
Constant function tan at 104289c6c3c0
Object
48
Constant 0x1
Int32
49
Constant function tan at 104289c6c3c0
Object
50
GuardSpecificFunction ← Constant#47, Constant#49
Object
51
Unbox Parameter#1 to Double (fallible)
Double
52
MathFunction ← Unbox#51 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
Double
54
Constant object 104289c3f040 (LexicalEnvironment)
Object
55
Constant object 104289c3e030 (global)
Object
56
Constant object 104289c41148 (Math)
Object
57
Constant object 104289c41148 (Math)
Object
58
GuardObjectIdentity ← Constant#56, Constant#57
Object
59
Constant function abs at 104289c63ee8
Object
60
Constant 0x1
Int32
61
Constant function abs at 104289c63ee8
Object
62
GuardSpecificFunction ← Constant#59, Constant#61
Object
63
Unbox Parameter#1 to Double (fallible)
Double
64
Abs ← Unbox#63
Double
65
Add ← Add#53, Abs#64 [double]
Double
66
Constant object 104289c3f040 (LexicalEnvironment)
Object
67
Constant object 104289c3e030 (global)
Object
68
Constant object 104289c41148 (Math)
Object
69
Constant object 104289c41148 (Math)
Object
70
GuardObjectIdentity ← Constant#68, Constant#69
Object
71
Constant function floor at 104289c6c120
Object
72
Constant 0x1
Int32
73
Constant function floor at 104289c6c120
Object
74
GuardSpecificFunction ← Constant#71, Constant#73
Object
75
Unbox Parameter#1 to Double (fallible)
Double
76
NearbyInt ← Unbox#75 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
Double
78
Constant object 104289c3f040 (LexicalEnvironment)
Object
79
Constant object 104289c3e030 (global)
Object
80
Constant object 104289c41148 (Math)
Object
81
Constant object 104289c41148 (Math)
Object
82
GuardObjectIdentity ← Constant#80, Constant#81
Object
83
Constant function ceil at 104289c6c040
Object
84
Constant 0x1
Int32
85
Constant function ceil at 104289c6c040
Object
86
GuardSpecificFunction ← Constant#83, Constant#85
Object
87
Unbox Parameter#1 to Double (fallible)
Double
88
NearbyInt ← Unbox#87 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
Double
90
Constant object 104289c3f040 (LexicalEnvironment)
Object
91
Constant object 104289c3e030 (global)
Object
92
Constant object 104289c41148 (Math)
Object
93
Constant object 104289c41148 (Math)
Object
94
GuardObjectIdentity ← Constant#92, Constant#93
Object
95
Constant function round at 104289c6c318
Object
96
Constant 0x1
Int32
97
Constant function round at 104289c6c318
Object
98
GuardSpecificFunction ← Constant#95, Constant#97
Object
99
Unbox Parameter#1 to Double (fallible)
Double
100
RoundToDouble ← Unbox#99
Double
101
Add ← Add#89, RoundToDouble#100 [double]
Double
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant object 104289c41148 (Math)
Object
105
Constant object 104289c41148 (Math)
Object
106
GuardObjectIdentity ← Constant#104, Constant#105
Object
107
Constant function log at 104289c6c200
Object
108
Constant 0x1
Int32
109
Unbox Parameter#1 to Double (fallible)
Double
110
Add ← Unbox#109, Constant#108 [double]
Double
111
Constant 0x1
Int32
112
Constant function log at 104289c6c200
Object
113
GuardSpecificFunction ← Constant#107, Constant#112
Object
114
MathFunction ← Add#110 Log
Double
115
Add ← Add#101, MathFunction#114 [double]
Double
116
Return ← Add#115
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant object 104289c3f040 (LexicalEnvironment)
Object
6
Constant object 104289c3e030 (global)
Object
7
Constant object 104289c41148 (Math)
Object
8
Constant object 104289c41148 (Math)
Object
9
GuardObjectIdentity ← Constant#7, Constant#8
Object
10
Constant function sqrt at 104289c6c388
Object
11
Unbox Parameter#1 to Double (fallible)
Double
12
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#12 [double]
Double
14
Constant 0x1
Int32
15
Constant function sqrt at 104289c6c388
Object
16
GuardSpecificFunction ← Constant#10, Constant#15
Object
17
Sqrt ← Mul#13
Double
18
Constant object 104289c3f040 (LexicalEnvironment)
Object
19
Constant object 104289c3e030 (global)
Object
20
Constant object 104289c41148 (Math)
Object
21
Constant object 104289c41148 (Math)
Object
22
GuardObjectIdentity ← Constant#20, Constant#21
Object
23
Constant function sin at 104289c6c350
Object
24
Constant 0x1
Int32
25
Constant function sin at 104289c6c350
Object
26
GuardSpecificFunction ← Constant#23, Constant#25
Object
27
Unbox Parameter#1 to Double (fallible)
Double
28
MathFunction ← Unbox#27 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
Double
30
Constant object 104289c3f040 (LexicalEnvironment)
Object
31
Constant object 104289c3e030 (global)
Object
32
Constant object 104289c41148 (Math)
Object
33
Constant object 104289c41148 (Math)
Object
34
GuardObjectIdentity ← Constant#32, Constant#33
Object
35
Constant function cos at 104289c6c0b0
Object
36
Constant 0x1
Int32
37
Constant function cos at 104289c6c0b0
Object
38
GuardSpecificFunction ← Constant#35, Constant#37
Object
39
Unbox Parameter#1 to Double (fallible)
Double
40
MathFunction ← Unbox#39 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
Double
42
Constant object 104289c3f040 (LexicalEnvironment)
Object
43
Constant object 104289c3e030 (global)
Object
44
Constant object 104289c41148 (Math)
Object
45
Constant object 104289c41148 (Math)
Object
46
GuardObjectIdentity ← Constant#44, Constant#45
Object
47
Constant function tan at 104289c6c3c0
Object
48
Constant 0x1
Int32
49
Constant function tan at 104289c6c3c0
Object
50
GuardSpecificFunction ← Constant#47, Constant#49
Object
51
Unbox Parameter#1 to Double (fallible)
Double
52
MathFunction ← Unbox#51 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
Double
54
Constant object 104289c3f040 (LexicalEnvironment)
Object
55
Constant object 104289c3e030 (global)
Object
56
Constant object 104289c41148 (Math)
Object
57
Constant object 104289c41148 (Math)
Object
58
GuardObjectIdentity ← Constant#56, Constant#57
Object
59
Constant function abs at 104289c63ee8
Object
60
Constant 0x1
Int32
61
Constant function abs at 104289c63ee8
Object
62
GuardSpecificFunction ← Constant#59, Constant#61
Object
63
Unbox Parameter#1 to Double (fallible)
Double
64
Abs ← Unbox#63
Double
65
Add ← Add#53, Abs#64 [double]
Double
66
Constant object 104289c3f040 (LexicalEnvironment)
Object
67
Constant object 104289c3e030 (global)
Object
68
Constant object 104289c41148 (Math)
Object
69
Constant object 104289c41148 (Math)
Object
70
GuardObjectIdentity ← Constant#68, Constant#69
Object
71
Constant function floor at 104289c6c120
Object
72
Constant 0x1
Int32
73
Constant function floor at 104289c6c120
Object
74
GuardSpecificFunction ← Constant#71, Constant#73
Object
75
Unbox Parameter#1 to Double (fallible)
Double
76
NearbyInt ← Unbox#75 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
Double
78
Constant object 104289c3f040 (LexicalEnvironment)
Object
79
Constant object 104289c3e030 (global)
Object
80
Constant object 104289c41148 (Math)
Object
81
Constant object 104289c41148 (Math)
Object
82
GuardObjectIdentity ← Constant#80, Constant#81
Object
83
Constant function ceil at 104289c6c040
Object
84
Constant 0x1
Int32
85
Constant function ceil at 104289c6c040
Object
86
GuardSpecificFunction ← Constant#83, Constant#85
Object
87
Unbox Parameter#1 to Double (fallible)
Double
88
NearbyInt ← Unbox#87 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
Double
90
Constant object 104289c3f040 (LexicalEnvironment)
Object
91
Constant object 104289c3e030 (global)
Object
92
Constant object 104289c41148 (Math)
Object
93
Constant object 104289c41148 (Math)
Object
94
GuardObjectIdentity ← Constant#92, Constant#93
Object
95
Constant function round at 104289c6c318
Object
96
Constant 0x1
Int32
97
Constant function round at 104289c6c318
Object
98
GuardSpecificFunction ← Constant#95, Constant#97
Object
99
Unbox Parameter#1 to Double (fallible)
Double
100
RoundToDouble ← Unbox#99
Double
101
Add ← Add#89, RoundToDouble#100 [double]
Double
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant object 104289c41148 (Math)
Object
105
Constant object 104289c41148 (Math)
Object
106
GuardObjectIdentity ← Constant#104, Constant#105
Object
107
Constant function log at 104289c6c200
Object
108
Constant 0x1
Int32
109
Unbox Parameter#1 to Double (fallible)
Double
110
Add ← Unbox#109, Constant#108 [double]
Double
111
Constant 0x1
Int32
112
Constant function log at 104289c6c200
Object
113
GuardSpecificFunction ← Constant#107, Constant#112
Object
114
MathFunction ← Add#110 Log
Double
115
Add ← Add#101, MathFunction#114 [double]
Double
116
Return ← Add#115
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant object 104289c3f040 (LexicalEnvironment)
Object
6
Constant object 104289c3e030 (global)
Object
7
Constant object 104289c41148 (Math)
Object
8
Constant object 104289c41148 (Math)
Object
9
GuardObjectIdentity ← Constant#7, Constant#8
Object
10
Constant function sqrt at 104289c6c388
Object
11
Unbox Parameter#1 to Double (fallible)
Double
12
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#12 [double]
Double
14
Constant 0x1
Int32
15
Constant function sqrt at 104289c6c388
Object
16
GuardSpecificFunction ← Constant#10, Constant#15
Object
17
Sqrt ← Mul#13
Double
18
Constant object 104289c3f040 (LexicalEnvironment)
Object
19
Constant object 104289c3e030 (global)
Object
20
Constant object 104289c41148 (Math)
Object
21
Constant object 104289c41148 (Math)
Object
22
GuardObjectIdentity ← Constant#20, Constant#21
Object
23
Constant function sin at 104289c6c350
Object
24
Constant 0x1
Int32
25
Constant function sin at 104289c6c350
Object
26
GuardSpecificFunction ← Constant#23, Constant#25
Object
27
Unbox Parameter#1 to Double (fallible)
Double
28
MathFunction ← Unbox#27 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
Double
30
Constant object 104289c3f040 (LexicalEnvironment)
Object
31
Constant object 104289c3e030 (global)
Object
32
Constant object 104289c41148 (Math)
Object
33
Constant object 104289c41148 (Math)
Object
34
GuardObjectIdentity ← Constant#32, Constant#33
Object
35
Constant function cos at 104289c6c0b0
Object
36
Constant 0x1
Int32
37
Constant function cos at 104289c6c0b0
Object
38
GuardSpecificFunction ← Constant#35, Constant#37
Object
39
Unbox Parameter#1 to Double (fallible)
Double
40
MathFunction ← Unbox#39 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
Double
42
Constant object 104289c3f040 (LexicalEnvironment)
Object
43
Constant object 104289c3e030 (global)
Object
44
Constant object 104289c41148 (Math)
Object
45
Constant object 104289c41148 (Math)
Object
46
GuardObjectIdentity ← Constant#44, Constant#45
Object
47
Constant function tan at 104289c6c3c0
Object
48
Constant 0x1
Int32
49
Constant function tan at 104289c6c3c0
Object
50
GuardSpecificFunction ← Constant#47, Constant#49
Object
51
Unbox Parameter#1 to Double (fallible)
Double
52
MathFunction ← Unbox#51 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
Double
54
Constant object 104289c3f040 (LexicalEnvironment)
Object
55
Constant object 104289c3e030 (global)
Object
56
Constant object 104289c41148 (Math)
Object
57
Constant object 104289c41148 (Math)
Object
58
GuardObjectIdentity ← Constant#56, Constant#57
Object
59
Constant function abs at 104289c63ee8
Object
60
Constant 0x1
Int32
61
Constant function abs at 104289c63ee8
Object
62
GuardSpecificFunction ← Constant#59, Constant#61
Object
63
Unbox Parameter#1 to Double (fallible)
Double
64
Abs ← Unbox#63
Double
65
Add ← Add#53, Abs#64 [double]
Double
66
Constant object 104289c3f040 (LexicalEnvironment)
Object
67
Constant object 104289c3e030 (global)
Object
68
Constant object 104289c41148 (Math)
Object
69
Constant object 104289c41148 (Math)
Object
70
GuardObjectIdentity ← Constant#68, Constant#69
Object
71
Constant function floor at 104289c6c120
Object
72
Constant 0x1
Int32
73
Constant function floor at 104289c6c120
Object
74
GuardSpecificFunction ← Constant#71, Constant#73
Object
75
Unbox Parameter#1 to Double (fallible)
Double
76
NearbyInt ← Unbox#75 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
Double
78
Constant object 104289c3f040 (LexicalEnvironment)
Object
79
Constant object 104289c3e030 (global)
Object
80
Constant object 104289c41148 (Math)
Object
81
Constant object 104289c41148 (Math)
Object
82
GuardObjectIdentity ← Constant#80, Constant#81
Object
83
Constant function ceil at 104289c6c040
Object
84
Constant 0x1
Int32
85
Constant function ceil at 104289c6c040
Object
86
GuardSpecificFunction ← Constant#83, Constant#85
Object
87
Unbox Parameter#1 to Double (fallible)
Double
88
NearbyInt ← Unbox#87 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
Double
90
Constant object 104289c3f040 (LexicalEnvironment)
Object
91
Constant object 104289c3e030 (global)
Object
92
Constant object 104289c41148 (Math)
Object
93
Constant object 104289c41148 (Math)
Object
94
GuardObjectIdentity ← Constant#92, Constant#93
Object
95
Constant function round at 104289c6c318
Object
96
Constant 0x1
Int32
97
Constant function round at 104289c6c318
Object
98
GuardSpecificFunction ← Constant#95, Constant#97
Object
99
Unbox Parameter#1 to Double (fallible)
Double
100
RoundToDouble ← Unbox#99
Double
101
Add ← Add#89, RoundToDouble#100 [double]
Double
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant object 104289c41148 (Math)
Object
105
Constant object 104289c41148 (Math)
Object
106
GuardObjectIdentity ← Constant#104, Constant#105
Object
107
Constant function log at 104289c6c200
Object
108
Constant 0x1
Int32
109
Unbox Parameter#1 to Double (fallible)
Double
117
ToDouble ← Constant#108
Double
110
Add ← Unbox#109, ToDouble#117 [double]
Double
111
Constant 0x1
Int32
112
Constant function log at 104289c6c200
Object
113
GuardSpecificFunction ← Constant#107, Constant#112
Object
114
MathFunction ← Add#110 Log
Double
115
Add ← Add#101, MathFunction#114 [double]
Double
118
Box ← Add#115
Value
116
Return ← Box#118
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant object 104289c3f040 (LexicalEnvironment)
Object
6
Constant object 104289c3e030 (global)
Object
7
Constant object 104289c41148 (Math)
Object
8
Constant object 104289c41148 (Math)
Object
9
GuardObjectIdentity ← Constant#7, Constant#8
Object
10
Constant function sqrt at 104289c6c388
Object
11
Unbox Parameter#1 to Double (fallible)
Double
12
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#12 [double]
Double
14
Constant 0x1
Int32
15
Constant function sqrt at 104289c6c388
Object
16
GuardSpecificFunction ← Constant#10, Constant#15
Object
17
Sqrt ← Mul#13
Double
18
Constant object 104289c3f040 (LexicalEnvironment)
Object
19
Constant object 104289c3e030 (global)
Object
20
Constant object 104289c41148 (Math)
Object
21
Constant object 104289c41148 (Math)
Object
22
GuardObjectIdentity ← Constant#20, Constant#21
Object
23
Constant function sin at 104289c6c350
Object
24
Constant 0x1
Int32
25
Constant function sin at 104289c6c350
Object
26
GuardSpecificFunction ← Constant#23, Constant#25
Object
27
Unbox Parameter#1 to Double (fallible)
Double
28
MathFunction ← Unbox#27 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
Double
30
Constant object 104289c3f040 (LexicalEnvironment)
Object
31
Constant object 104289c3e030 (global)
Object
32
Constant object 104289c41148 (Math)
Object
33
Constant object 104289c41148 (Math)
Object
34
GuardObjectIdentity ← Constant#32, Constant#33
Object
35
Constant function cos at 104289c6c0b0
Object
36
Constant 0x1
Int32
37
Constant function cos at 104289c6c0b0
Object
38
GuardSpecificFunction ← Constant#35, Constant#37
Object
39
Unbox Parameter#1 to Double (fallible)
Double
40
MathFunction ← Unbox#39 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
Double
42
Constant object 104289c3f040 (LexicalEnvironment)
Object
43
Constant object 104289c3e030 (global)
Object
44
Constant object 104289c41148 (Math)
Object
45
Constant object 104289c41148 (Math)
Object
46
GuardObjectIdentity ← Constant#44, Constant#45
Object
47
Constant function tan at 104289c6c3c0
Object
48
Constant 0x1
Int32
49
Constant function tan at 104289c6c3c0
Object
50
GuardSpecificFunction ← Constant#47, Constant#49
Object
51
Unbox Parameter#1 to Double (fallible)
Double
52
MathFunction ← Unbox#51 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
Double
54
Constant object 104289c3f040 (LexicalEnvironment)
Object
55
Constant object 104289c3e030 (global)
Object
56
Constant object 104289c41148 (Math)
Object
57
Constant object 104289c41148 (Math)
Object
58
GuardObjectIdentity ← Constant#56, Constant#57
Object
59
Constant function abs at 104289c63ee8
Object
60
Constant 0x1
Int32
61
Constant function abs at 104289c63ee8
Object
62
GuardSpecificFunction ← Constant#59, Constant#61
Object
63
Unbox Parameter#1 to Double (fallible)
Double
64
Abs ← Unbox#63
Double
65
Add ← Add#53, Abs#64 [double]
Double
66
Constant object 104289c3f040 (LexicalEnvironment)
Object
67
Constant object 104289c3e030 (global)
Object
68
Constant object 104289c41148 (Math)
Object
69
Constant object 104289c41148 (Math)
Object
70
GuardObjectIdentity ← Constant#68, Constant#69
Object
71
Constant function floor at 104289c6c120
Object
72
Constant 0x1
Int32
73
Constant function floor at 104289c6c120
Object
74
GuardSpecificFunction ← Constant#71, Constant#73
Object
75
Unbox Parameter#1 to Double (fallible)
Double
76
NearbyInt ← Unbox#75 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
Double
78
Constant object 104289c3f040 (LexicalEnvironment)
Object
79
Constant object 104289c3e030 (global)
Object
80
Constant object 104289c41148 (Math)
Object
81
Constant object 104289c41148 (Math)
Object
82
GuardObjectIdentity ← Constant#80, Constant#81
Object
83
Constant function ceil at 104289c6c040
Object
84
Constant 0x1
Int32
85
Constant function ceil at 104289c6c040
Object
86
GuardSpecificFunction ← Constant#83, Constant#85
Object
87
Unbox Parameter#1 to Double (fallible)
Double
88
NearbyInt ← Unbox#87 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
Double
90
Constant object 104289c3f040 (LexicalEnvironment)
Object
91
Constant object 104289c3e030 (global)
Object
92
Constant object 104289c41148 (Math)
Object
93
Constant object 104289c41148 (Math)
Object
94
GuardObjectIdentity ← Constant#92, Constant#93
Object
95
Constant function round at 104289c6c318
Object
96
Constant 0x1
Int32
97
Constant function round at 104289c6c318
Object
98
GuardSpecificFunction ← Constant#95, Constant#97
Object
99
Unbox Parameter#1 to Double (fallible)
Double
100
RoundToDouble ← Unbox#99
Double
101
Add ← Add#89, RoundToDouble#100 [double]
Double
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant object 104289c41148 (Math)
Object
105
Constant object 104289c41148 (Math)
Object
106
GuardObjectIdentity ← Constant#104, Constant#105
Object
107
Constant function log at 104289c6c200
Object
108
Constant 0x1
Int32
109
Unbox Parameter#1 to Double (fallible)
Double
110
ToDouble ← Constant#108
Double
111
Add ← Unbox#109, ToDouble#110 [double]
Double
112
Constant 0x1
Int32
113
Constant function log at 104289c6c200
Object
114
GuardSpecificFunction ← Constant#107, Constant#113
Object
115
MathFunction ← Add#111 Log
Double
116
Add ← Add#101, MathFunction#115 [double]
Double
117
Box ← Add#116
Value
118
Return ← Box#117
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant object 104289c3f040 (LexicalEnvironment)
Object
6
Constant object 104289c3e030 (global)
Object
7
Constant object 104289c41148 (Math)
Object
8
Constant object 104289c41148 (Math)
Object
9
GuardObjectIdentity ← Constant#7, Constant#8
Object
10
Constant function sqrt at 104289c6c388
Object
11
Unbox Parameter#1 to Double (fallible)
Double
12
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#12 [double]
Double
14
Constant 0x1
Int32
15
Constant function sqrt at 104289c6c388
Object
16
GuardSpecificFunction ← Constant#10, Constant#15
Object
17
Sqrt ← Mul#13
Double
18
Constant object 104289c3f040 (LexicalEnvironment)
Object
19
Constant object 104289c3e030 (global)
Object
20
Constant object 104289c41148 (Math)
Object
21
Constant object 104289c41148 (Math)
Object
22
GuardObjectIdentity ← Constant#20, Constant#21
Object
23
Constant function sin at 104289c6c350
Object
24
Constant 0x1
Int32
25
Constant function sin at 104289c6c350
Object
26
GuardSpecificFunction ← Constant#23, Constant#25
Object
27
Unbox Parameter#1 to Double (fallible)
Double
28
MathFunction ← Unbox#27 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
Double
30
Constant object 104289c3f040 (LexicalEnvironment)
Object
31
Constant object 104289c3e030 (global)
Object
32
Constant object 104289c41148 (Math)
Object
33
Constant object 104289c41148 (Math)
Object
34
GuardObjectIdentity ← Constant#32, Constant#33
Object
35
Constant function cos at 104289c6c0b0
Object
36
Constant 0x1
Int32
37
Constant function cos at 104289c6c0b0
Object
38
GuardSpecificFunction ← Constant#35, Constant#37
Object
39
Unbox Parameter#1 to Double (fallible)
Double
40
MathFunction ← Unbox#39 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
Double
42
Constant object 104289c3f040 (LexicalEnvironment)
Object
43
Constant object 104289c3e030 (global)
Object
44
Constant object 104289c41148 (Math)
Object
45
Constant object 104289c41148 (Math)
Object
46
GuardObjectIdentity ← Constant#44, Constant#45
Object
47
Constant function tan at 104289c6c3c0
Object
48
Constant 0x1
Int32
49
Constant function tan at 104289c6c3c0
Object
50
GuardSpecificFunction ← Constant#47, Constant#49
Object
51
Unbox Parameter#1 to Double (fallible)
Double
52
MathFunction ← Unbox#51 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
Double
54
Constant object 104289c3f040 (LexicalEnvironment)
Object
55
Constant object 104289c3e030 (global)
Object
56
Constant object 104289c41148 (Math)
Object
57
Constant object 104289c41148 (Math)
Object
58
GuardObjectIdentity ← Constant#56, Constant#57
Object
59
Constant function abs at 104289c63ee8
Object
60
Constant 0x1
Int32
61
Constant function abs at 104289c63ee8
Object
62
GuardSpecificFunction ← Constant#59, Constant#61
Object
63
Unbox Parameter#1 to Double (fallible)
Double
64
Abs ← Unbox#63
Double
65
Add ← Add#53, Abs#64 [double]
Double
66
Constant object 104289c3f040 (LexicalEnvironment)
Object
67
Constant object 104289c3e030 (global)
Object
68
Constant object 104289c41148 (Math)
Object
69
Constant object 104289c41148 (Math)
Object
70
GuardObjectIdentity ← Constant#68, Constant#69
Object
71
Constant function floor at 104289c6c120
Object
72
Constant 0x1
Int32
73
Constant function floor at 104289c6c120
Object
74
GuardSpecificFunction ← Constant#71, Constant#73
Object
75
Unbox Parameter#1 to Double (fallible)
Double
76
NearbyInt ← Unbox#75 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
Double
78
Constant object 104289c3f040 (LexicalEnvironment)
Object
79
Constant object 104289c3e030 (global)
Object
80
Constant object 104289c41148 (Math)
Object
81
Constant object 104289c41148 (Math)
Object
82
GuardObjectIdentity ← Constant#80, Constant#81
Object
83
Constant function ceil at 104289c6c040
Object
84
Constant 0x1
Int32
85
Constant function ceil at 104289c6c040
Object
86
GuardSpecificFunction ← Constant#83, Constant#85
Object
87
Unbox Parameter#1 to Double (fallible)
Double
88
NearbyInt ← Unbox#87 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
Double
90
Constant object 104289c3f040 (LexicalEnvironment)
Object
91
Constant object 104289c3e030 (global)
Object
92
Constant object 104289c41148 (Math)
Object
93
Constant object 104289c41148 (Math)
Object
94
GuardObjectIdentity ← Constant#92, Constant#93
Object
95
Constant function round at 104289c6c318
Object
96
Constant 0x1
Int32
97
Constant function round at 104289c6c318
Object
98
GuardSpecificFunction ← Constant#95, Constant#97
Object
99
Unbox Parameter#1 to Double (fallible)
Double
100
RoundToDouble ← Unbox#99
Double
101
Add ← Add#89, RoundToDouble#100 [double]
Double
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant object 104289c41148 (Math)
Object
105
Constant object 104289c41148 (Math)
Object
106
GuardObjectIdentity ← Constant#104, Constant#105
Object
107
Constant function log at 104289c6c200
Object
108
Constant 0x1
Int32
109
Unbox Parameter#1 to Double (fallible)
Double
110
ToDouble ← Constant#108
Double
111
Add ← Unbox#109, ToDouble#110 [double]
Double
112
Constant 0x1
Int32
113
Constant function log at 104289c6c200
Object
114
GuardSpecificFunction ← Constant#107, Constant#113
Object
115
MathFunction ← Add#111 Log
Double
116
Add ← Add#101, MathFunction#115 [double]
Double
117
Box ← Add#116
Value
118
Return ← Box#117
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
11
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#11 [double]
Double
17
Sqrt ← Mul#13
Double
28
MathFunction ← Unbox#11 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
Double
40
MathFunction ← Unbox#11 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
Double
52
MathFunction ← Unbox#11 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
Double
64
Abs ← Unbox#11
Double
65
Add ← Add#53, Abs#64 [double]
Double
76
NearbyInt ← Unbox#11 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
Double
88
NearbyInt ← Unbox#11 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
Double
100
RoundToDouble ← Unbox#11
Double
101
Add ← Add#89, RoundToDouble#100 [double]
Double
119
Constant 1
Double
111
Add ← Unbox#11, Constant#119 [double]
Double
115
MathFunction ← Add#111 Log
Double
116
Add ← Add#101, MathFunction#115 [double]
Double
117
Box ← Add#116
Value
118
Return ← Box#117
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
11
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#11 [double]
Double
17
Sqrt ← Mul#13
Double
28
MathFunction ← Unbox#11 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
Double
40
MathFunction ← Unbox#11 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
Double
52
MathFunction ← Unbox#11 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
Double
64
Abs ← Unbox#11
Double
65
Add ← Add#53, Abs#64 [double]
Double
76
NearbyInt ← Unbox#11 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
Double
88
NearbyInt ← Unbox#11 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
Double
100
RoundToDouble ← Unbox#11
Double
101
Add ← Add#89, RoundToDouble#100 [double]
Double
119
Constant 1
Double
111
Add ← Unbox#11, Constant#119 [double]
Double
115
MathFunction ← Add#111 Log
Double
116
Add ← Add#101, MathFunction#115 [double]
Double
117
Box ← Add#116
Value
118
Return ← Box#117
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
11
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#11 [double]
Double
17
Sqrt ← Mul#13
Double
28
MathFunction ← Unbox#11 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
Double
40
MathFunction ← Unbox#11 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
Double
52
MathFunction ← Unbox#11 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
Double
64
Abs ← Unbox#11
Double
65
Add ← Add#53, Abs#64 [double]
Double
76
NearbyInt ← Unbox#11 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
Double
88
NearbyInt ← Unbox#11 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
Double
100
RoundToDouble ← Unbox#11
Double
101
Add ← Add#89, RoundToDouble#100 [double]
Double
119
Constant 1
Double
111
Add ← Unbox#11, Constant#119 [double]
Double
115
MathFunction ← Add#111 Log
Double
116
Add ← Add#101, MathFunction#115 [double]
Double
117
Box ← Add#116
Value
118
Return ← Box#117
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
11
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
17
Sqrt ← Mul#13
Double
28
MathFunction ← Unbox#11 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
40
MathFunction ← Unbox#11 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52
MathFunction ← Unbox#11 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
64
Abs ← Unbox#11
F[0, ?] (U NaN U Infinity): Double
65
Add ← Add#53, Abs#64 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
76
NearbyInt ← Unbox#11 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
88
NearbyInt ← Unbox#11 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
100
RoundToDouble ← Unbox#11
Double
101
Add ← Add#89, RoundToDouble#100 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
119
Constant 1
I[1, 1]: Double
111
Add ← Unbox#11, Constant#119 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
115
MathFunction ← Add#111 Log
Double
116
Add ← Add#101, MathFunction#115 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
117
Box ← Add#116
Value
118
Return ← Box#117
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
11
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
17
Sqrt ← Mul#13
Double
28
MathFunction ← Unbox#11 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
40
MathFunction ← Unbox#11 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52
MathFunction ← Unbox#11 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
64
Abs ← Unbox#11
F[0, ?] (U NaN U Infinity): Double
65
Add ← Add#53, Abs#64 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
76
NearbyInt ← Unbox#11 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
88
NearbyInt ← Unbox#11 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
100
RoundToDouble ← Unbox#11
Double
101
Add ← Add#89, RoundToDouble#100 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
119
Constant 1
I[1, 1]: Double
111
Add ← Unbox#11, Constant#119 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
115
MathFunction ← Add#111 Log
Double
116
Add ← Add#101, MathFunction#115 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
117
Box ← Add#116
Value
118
Return ← Box#117
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
11
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
17
Sqrt ← Mul#13
Double
28
MathFunction ← Unbox#11 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
40
MathFunction ← Unbox#11 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52
MathFunction ← Unbox#11 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
64
Abs ← Unbox#11
F[0, ?] (U NaN U Infinity): Double
65
Add ← Add#53, Abs#64 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
76
NearbyInt ← Unbox#11 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
88
NearbyInt ← Unbox#11 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
100
RoundToDouble ← Unbox#11
Double
101
Add ← Add#89, RoundToDouble#100 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
119
Constant 1
I[1, 1]: Double
111
Add ← Unbox#11, Constant#119 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
115
MathFunction ← Add#111 Log
Double
116
Add ← Add#101, MathFunction#115 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
117
Box ← Add#116
Value
118
Return ← Box#117
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
11
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
17
Sqrt ← Mul#13
Double
28
MathFunction ← Unbox#11 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
40
MathFunction ← Unbox#11 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52
MathFunction ← Unbox#11 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
64
Abs ← Unbox#11
F[0, ?] (U NaN U Infinity): Double
65
Add ← Add#53, Abs#64 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
76
NearbyInt ← Unbox#11 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
88
NearbyInt ← Unbox#11 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
100
RoundToDouble ← Unbox#11
Double
101
Add ← Add#89, RoundToDouble#100 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
119
Constant 1
I[1, 1]: Double
111
Add ← Unbox#11, Constant#119 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
115
MathFunction ← Add#111 Log
Double
116
Add ← Add#101, MathFunction#115 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
117
Box ← Add#116
Value
118
Return ← Box#117
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
11
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
17
Sqrt ← Mul#13
Double
28
MathFunction ← Unbox#11 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
40
MathFunction ← Unbox#11 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52
MathFunction ← Unbox#11 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
64
Abs ← Unbox#11
F[0, ?] (U NaN U Infinity): Double
65
Add ← Add#53, Abs#64 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
76
NearbyInt ← Unbox#11 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
88
NearbyInt ← Unbox#11 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
100
RoundToDouble ← Unbox#11
Double
101
Add ← Add#89, RoundToDouble#100 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
119
Constant 1
I[1, 1]: Double
111
Add ← Unbox#11, Constant#119 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
115
MathFunction ← Add#111 Log
Double
116
Add ← Add#101, MathFunction#115 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
117
Box ← Add#116
Value
118
Return ← Box#117
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
11
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
17
Sqrt ← Mul#13
Double
28
MathFunction ← Unbox#11 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
40
MathFunction ← Unbox#11 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52
MathFunction ← Unbox#11 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
64
Abs ← Unbox#11
F[0, ?] (U NaN U Infinity): Double
65
Add ← Add#53, Abs#64 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
76
NearbyInt ← Unbox#11 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
88
NearbyInt ← Unbox#11 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
100
RoundToDouble ← Unbox#11
Double
101
Add ← Add#89, RoundToDouble#100 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
119
Constant 1
I[1, 1]: Double
111
Add ← Unbox#11, Constant#119 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
115
MathFunction ← Add#111 Log
Double
116
Add ← Add#101, MathFunction#115 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
117
Box ← Add#116
Value
118
Return ← Box#117
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
11
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
17
Sqrt ← Mul#13
Double
28
MathFunction ← Unbox#11 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
40
MathFunction ← Unbox#11 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52
MathFunction ← Unbox#11 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
64
Abs ← Unbox#11
F[0, ?] (U NaN U Infinity): Double
65
Add ← Add#53, Abs#64 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
76
NearbyInt ← Unbox#11 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
88
NearbyInt ← Unbox#11 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
100
RoundToDouble ← Unbox#11
Double
101
Add ← Add#89, RoundToDouble#100 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
119
Constant 1
I[1, 1]: Double
111
Add ← Unbox#11, Constant#119 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
115
MathFunction ← Add#111 Log
Double
116
Add ← Add#101, MathFunction#115 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
117
Box ← Add#116
Value
118
Return ← Box#117
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
11
Unbox Parameter#1 to Double (fallible)
Double
13
Mul ← Unbox#11, Unbox#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
17
Sqrt ← Mul#13
Double
28
MathFunction ← Unbox#11 Sin (native)
Double
29
Add ← Sqrt#17, MathFunction#28 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
40
MathFunction ← Unbox#11 Cos (native)
Double
41
Add ← Add#29, MathFunction#40 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52
MathFunction ← Unbox#11 Tan (native)
Double
53
Add ← Add#41, MathFunction#52 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
64
Abs ← Unbox#11
F[0, ?] (U NaN U Infinity): Double
65
Add ← Add#53, Abs#64 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
76
NearbyInt ← Unbox#11 (down)
Double
77
Add ← Add#65, NearbyInt#76 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
88
NearbyInt ← Unbox#11 (up)
Double
89
Add ← Add#77, NearbyInt#88 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
100
RoundToDouble ← Unbox#11
Double
101
Add ← Add#89, RoundToDouble#100 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
119
Constant 1
I[1, 1]: Double
111
Add ← Unbox#11, Constant#119 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
115
MathFunction ← Add#111 Log
Double
116
Add ← Add#101, MathFunction#115 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
117
Box ← Add#116
Value
118
Return ← Box#117
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Mul ← Unbox#5, Unbox#5 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
7
Sqrt ← Mul#6
Double
8
MathFunction ← Unbox#5 Sin (native)
Double
9
Add ← Sqrt#7, MathFunction#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10
MathFunction ← Unbox#5 Cos (native)
Double
11
Add ← Add#9, MathFunction#10 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
MathFunction ← Unbox#5 Tan (native)
Double
13
Add ← Add#11, MathFunction#12 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
14
Abs ← Unbox#5
F[0, ?] (U NaN U Infinity): Double
15
Add ← Add#13, Abs#14 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
16
NearbyInt ← Unbox#5 (down)
Double
17
Add ← Add#15, NearbyInt#16 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
18
NearbyInt ← Unbox#5 (up)
Double
19
Add ← Add#17, NearbyInt#18 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
20
RoundToDouble ← Unbox#5
Double
21
Add ← Add#19, RoundToDouble#20 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
22
Constant 1
I[1, 1]: Double
23
Add ← Unbox#5, Constant#22 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
24
MathFunction ← Add#23 Log
Double
25
Add ← Add#21, MathFunction#24 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
26
Box ← Add#25
Value
27
Return ← Box#26
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Mul ← Unbox#5, Unbox#5 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
7
Sqrt ← Mul#6
Double
8
MathFunction ← Unbox#5 Sin (native)
Double
9
Add ← Sqrt#7, MathFunction#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10
MathFunction ← Unbox#5 Cos (native)
Double
11
Add ← Add#9, MathFunction#10 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
MathFunction ← Unbox#5 Tan (native)
Double
13
Add ← Add#11, MathFunction#12 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
14
Abs ← Unbox#5
F[0, ?] (U NaN U Infinity): Double
15
Add ← Add#13, Abs#14 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
16
NearbyInt ← Unbox#5 (down)
Double
17
Add ← Add#15, NearbyInt#16 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
18
NearbyInt ← Unbox#5 (up)
Double
19
Add ← Add#17, NearbyInt#18 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
20
RoundToDouble ← Unbox#5
Double
21
Add ← Add#19, RoundToDouble#20 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
22
Constant 1
I[1, 1]: Double
23
Add ← Unbox#5, Constant#22 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
24
MathFunction ← Add#23 Log
Double
25
Add ← Add#21, MathFunction#24 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
26
Box ← Add#25
Value
27
Return ← Box#26
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Mul ← Unbox#5, Unbox#5 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
7
Sqrt ← Mul#6
Double
8
MathFunction ← Unbox#5 Sin (native)
Double
9
Add ← Sqrt#7, MathFunction#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10
MathFunction ← Unbox#5 Cos (native)
Double
11
Add ← Add#9, MathFunction#10 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
MathFunction ← Unbox#5 Tan (native)
Double
13
Add ← Add#11, MathFunction#12 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
14
Abs ← Unbox#5
F[0, ?] (U NaN U Infinity): Double
15
Add ← Add#13, Abs#14 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
16
NearbyInt ← Unbox#5 (down)
Double
17
Add ← Add#15, NearbyInt#16 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
18
NearbyInt ← Unbox#5 (up)
Double
19
Add ← Add#17, NearbyInt#18 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
20
RoundToDouble ← Unbox#5
Double
21
Add ← Add#19, RoundToDouble#20 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
22
Constant 1
I[1, 1]: Double
23
Add ← Unbox#5, Constant#22 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
24
MathFunction ← Add#23 Log
Double
25
Add ← Add#21, MathFunction#24 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
26
Box ← Add#25
Value
27
Return ← Box#26
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Mul ← Unbox#5, Unbox#5 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
7
Sqrt ← Mul#6
Double
8
MathFunction ← Unbox#5 Sin (native)
Double
9
Add ← Sqrt#7, MathFunction#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10
MathFunction ← Unbox#5 Cos (native)
Double
11
Add ← Add#9, MathFunction#10 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
MathFunction ← Unbox#5 Tan (native)
Double
13
Add ← Add#11, MathFunction#12 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
14
Abs ← Unbox#5
F[0, ?] (U NaN U Infinity): Double
15
Add ← Add#13, Abs#14 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
16
NearbyInt ← Unbox#5 (down)
Double
17
Add ← Add#15, NearbyInt#16 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
18
NearbyInt ← Unbox#5 (up)
Double
19
Add ← Add#17, NearbyInt#18 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
20
RoundToDouble ← Unbox#5
Double
21
Add ← Add#19, RoundToDouble#20 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
22
Constant 1
I[1, 1]: Double
23
Add ← Unbox#5, Constant#22 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
24
MathFunction ← Add#23 Log
Double
25
Add ← Add#21, MathFunction#24 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
26
Box ← Add#25
Value
27
Return ← Box#26
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Mul ← Unbox#5, Unbox#5 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
7
Sqrt ← Mul#6
Double
8
MathFunction ← Unbox#5 Sin (native)
Double
9
Add ← Sqrt#7, MathFunction#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10
MathFunction ← Unbox#5 Cos (native)
Double
11
Add ← Add#9, MathFunction#10 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
MathFunction ← Unbox#5 Tan (native)
Double
13
Add ← Add#11, MathFunction#12 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
14
Abs ← Unbox#5
F[0, ?] (U NaN U Infinity): Double
15
Add ← Add#13, Abs#14 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
16
NearbyInt ← Unbox#5 (down)
Double
17
Add ← Add#15, NearbyInt#16 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
18
NearbyInt ← Unbox#5 (up)
Double
19
Add ← Add#17, NearbyInt#18 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
20
RoundToDouble ← Unbox#5
Double
21
Add ← Add#19, RoundToDouble#20 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
22
Constant 1
I[1, 1]: Double
23
Add ← Unbox#5, Constant#22 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
24
MathFunction ← Add#23 Log
Double
25
Add ← Add#21, MathFunction#24 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
26
Box ← Add#25
Value
27
Return ← Box#26
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Mul ← Unbox#5, Unbox#5 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
7
Sqrt ← Mul#6
Double
8
MathFunction ← Unbox#5 Sin (native)
Double
9
Add ← Sqrt#7, MathFunction#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10
MathFunction ← Unbox#5 Cos (native)
Double
11
Add ← Add#9, MathFunction#10 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
MathFunction ← Unbox#5 Tan (native)
Double
13
Add ← Add#11, MathFunction#12 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
14
Abs ← Unbox#5
F[0, ?] (U NaN U Infinity): Double
15
Add ← Add#13, Abs#14 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
16
NearbyInt ← Unbox#5 (down)
Double
17
Add ← Add#15, NearbyInt#16 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
18
NearbyInt ← Unbox#5 (up)
Double
19
Add ← Add#17, NearbyInt#18 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
20
RoundToDouble ← Unbox#5
Double
21
Add ← Add#19, RoundToDouble#20 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
22
Constant 1
I[1, 1]: Double
23
Add ← Unbox#5, Constant#22 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
24
MathFunction ← Add#23 Log
Double
25
Add ← Add#21, MathFunction#24 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
26
Box ← Add#25
Value
27
Return ← Box#26
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Mul ← Unbox#5, Unbox#5 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
7
Sqrt ← Mul#6
Double
8
MathFunction ← Unbox#5 Sin (native)
Double
9
Add ← Sqrt#7, MathFunction#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10
MathFunction ← Unbox#5 Cos (native)
Double
11
Add ← Add#9, MathFunction#10 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
MathFunction ← Unbox#5 Tan (native)
Double
13
Add ← Add#11, MathFunction#12 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
14
Abs ← Unbox#5
F[0, ?] (U NaN U Infinity): Double
15
Add ← Add#13, Abs#14 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
16
NearbyInt ← Unbox#5 (down)
Double
17
Add ← Add#15, NearbyInt#16 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
18
NearbyInt ← Unbox#5 (up)
Double
19
Add ← Add#17, NearbyInt#18 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
20
RoundToDouble ← Unbox#5
Double
21
Add ← Add#19, RoundToDouble#20 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
22
Constant 1
I[1, 1]: Double
23
Add ← Unbox#5, Constant#22 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
24
MathFunction ← Add#23 Log
Double
25
Add ← Add#21, MathFunction#24 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
26
Box ← Add#25
Value
27
Return ← Box#26
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Mul ← Unbox#5, Unbox#5 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
7
Sqrt ← Mul#6
Double
8
MathFunction ← Unbox#5 Sin (native)
Double
9
Add ← Sqrt#7, MathFunction#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10
MathFunction ← Unbox#5 Cos (native)
Double
11
Add ← Add#9, MathFunction#10 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
MathFunction ← Unbox#5 Tan (native)
Double
13
Add ← Add#11, MathFunction#12 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
14
Abs ← Unbox#5
F[0, ?] (U NaN U Infinity): Double
15
Add ← Add#13, Abs#14 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
16
NearbyInt ← Unbox#5 (down)
Double
17
Add ← Add#15, NearbyInt#16 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
18
NearbyInt ← Unbox#5 (up)
Double
19
Add ← Add#17, NearbyInt#18 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
20
RoundToDouble ← Unbox#5
Double
21
Add ← Add#19, RoundToDouble#20 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
22
Constant 1
I[1, 1]: Double
23
Add ← Unbox#5, Constant#22 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
24
MathFunction ← Add#23 Log
Double
25
Add ← Add#21, MathFunction#24 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
26
Box ← Add#25
Value
27
Return ← Box#26
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Mul ← Unbox#5, Unbox#5 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
7
Sqrt ← Mul#6
Double
8
MathFunction ← Unbox#5 Sin (native)
Double
9
Add ← Sqrt#7, MathFunction#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10
MathFunction ← Unbox#5 Cos (native)
Double
11
Add ← Add#9, MathFunction#10 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
MathFunction ← Unbox#5 Tan (native)
Double
13
Add ← Add#11, MathFunction#12 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
14
Abs ← Unbox#5
F[0, ?] (U NaN U Infinity): Double
15
Add ← Add#13, Abs#14 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
16
NearbyInt ← Unbox#5 (down)
Double
17
Add ← Add#15, NearbyInt#16 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
18
NearbyInt ← Unbox#5 (up)
Double
19
Add ← Add#17, NearbyInt#18 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
20
RoundToDouble ← Unbox#5
Double
21
Add ← Add#19, RoundToDouble#20 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
22
Constant 1
I[1, 1]: Double
23
Add ← Unbox#5, Constant#22 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
24
MathFunction ← Add#23 Log
Double
25
Add ← Add#21, MathFunction#24 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
26
Box ← Add#25
Value
27
Return ← Box#26
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Unbox Parameter#1 to Double (fallible)
Double
6
Mul ← Unbox#5, Unbox#5 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
7
Sqrt ← Mul#6
Double
8
MathFunction ← Unbox#5 Sin (native)
Double
9
Add ← Sqrt#7, MathFunction#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10
MathFunction ← Unbox#5 Cos (native)
Double
11
Add ← Add#9, MathFunction#10 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
MathFunction ← Unbox#5 Tan (native)
Double
13
Add ← Add#11, MathFunction#12 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
14
Abs ← Unbox#5
F[0, ?] (U NaN U Infinity): Double
15
Add ← Add#13, Abs#14 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
16
NearbyInt ← Unbox#5 (down)
Double
17
Add ← Add#15, NearbyInt#16 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
18
NearbyInt ← Unbox#5 (up)
Double
19
Add ← Add#17, NearbyInt#18 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
20
RoundToDouble ← Unbox#5
Double
21
Add ← Add#19, RoundToDouble#20 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
22
Constant 1
I[1, 1]: Double
23
Add ← Unbox#5, Constant#22 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
24
MathFunction ← Add#23 Log
Double
25
Add ← Add#21, MathFunction#24 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
26
Box ← Add#25
Value
27
Return ← Box#26
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
Double
10
Unbox Parameter#1 to Double (fallible)
Double
11
Unbox Parameter#2 to Double (fallible)
Double
12
Sub ← Unbox#10, Unbox#11 [double]
Double
13
Unbox Parameter#1 to Double (fallible)
Double
14
Unbox Parameter#2 to Double (fallible)
Double
15
Mul ← Unbox#13, Unbox#14 [double]
Double
16
Unbox Parameter#2 to Double (fallible)
Double
17
Not ← Unbox#16
Bool
18
Not ← Not#17
Bool
19
Test ← Not#18 → block 2, block 1
1
0
Block 1
20
Constant 0x1
Int32
21
Goto → block 2
Block 2
22
Phi ← Constant#20, Parameter#2
Value
23
Unbox Parameter#1 to Double (fallible)
Double
24
Unbox Phi#22 to Double (fallible)
Double
25
Div ← Unbox#23, Unbox#24 [double]
Double
26
Unbox Parameter#2 to Double (fallible)
Double
27
Not ← Unbox#26
Bool
28
Not ← Not#27
Bool
29
Test ← Not#28 → block 4, block 3
1
0
Block 3
30
Constant 0x1
Int32
31
Goto → block 4
Block 4
32
Phi ← Constant#30, Parameter#2
Value
33
Unbox Parameter#1 to Double (fallible)
Double
34
Unbox Phi#32 to Double (fallible)
Double
35
Mod ← Unbox#33, Unbox#34 [double]
Double
36
Constant 0x2
Int32
37
Unbox Parameter#1 to Double (fallible)
Double
38
Pow ← Unbox#37, Constant#36
Double
39
Constant 0x2
Int32
40
Unbox Parameter#2 to Double (fallible)
Double
41
Pow ← Unbox#40, Constant#39
Double
42
Add ← Add#9, Sub#12 [double]
Double
43
Add ← Add#42, Mul#15 [double]
Double
44
Add ← Add#43, Div#25 [double]
Double
45
Add ← Add#44, Mod#35 [double]
Double
46
Add ← Add#45, Pow#38 [double]
Double
47
Add ← Add#46, Pow#41 [double]
Double
48
Constant 0x0
Int32
49
Compare ← Add#47, Constant#48 Gt
Bool
50
Test ← Compare#49 → block 5, block 6
1
0
Block 5
51
Goto → block 7
Block 6
52
Constant -1
Double
53
Mul ← Add#47, Constant#52 [double]
Double
54
Goto → block 7
Block 7
55
Phi ← Mul#53, Add#47
Double
56
Return ← Phi#55
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
Double
10
Unbox Parameter#1 to Double (fallible)
Double
11
Unbox Parameter#2 to Double (fallible)
Double
12
Sub ← Unbox#10, Unbox#11 [double]
Double
13
Unbox Parameter#1 to Double (fallible)
Double
14
Unbox Parameter#2 to Double (fallible)
Double
15
Mul ← Unbox#13, Unbox#14 [double]
Double
16
Unbox Parameter#2 to Double (fallible)
Double
17
Not ← Unbox#16
Bool
18
Not ← Not#17
Bool
19
Test ← Not#18 → block 2, block 1
1
0
Block 1
20
Constant 0x1
Int32
21
Goto → block 2
Block 2
22
Phi ← Constant#20, Parameter#2
Value
23
Unbox Parameter#1 to Double (fallible)
Double
24
Unbox Phi#22 to Double (fallible)
Double
25
Div ← Unbox#23, Unbox#24 [double]
Double
26
Unbox Parameter#2 to Double (fallible)
Double
27
Not ← Unbox#26
Bool
28
Not ← Not#27
Bool
29
Test ← Not#28 → block 4, block 3
1
0
Block 3
30
Constant 0x1
Int32
31
Goto → block 4
Block 4
32
Phi ← Constant#30, Parameter#2
Value
33
Unbox Parameter#1 to Double (fallible)
Double
34
Unbox Phi#32 to Double (fallible)
Double
35
Mod ← Unbox#33, Unbox#34 [double]
Double
36
Constant 0x2
Int32
37
Unbox Parameter#1 to Double (fallible)
Double
38
Pow ← Unbox#37, Constant#36
Double
39
Constant 0x2
Int32
40
Unbox Parameter#2 to Double (fallible)
Double
41
Pow ← Unbox#40, Constant#39
Double
42
Add ← Add#9, Sub#12 [double]
Double
43
Add ← Add#42, Mul#15 [double]
Double
44
Add ← Add#43, Div#25 [double]
Double
45
Add ← Add#44, Mod#35 [double]
Double
46
Add ← Add#45, Pow#38 [double]
Double
47
Add ← Add#46, Pow#41 [double]
Double
48
Constant 0x0
Int32
49
Compare ← Add#47, Constant#48 Gt
Bool
50
Test ← Compare#49 → block 5, block 6
1
0
Block 5
51
Goto → block 7
Block 6
52
Constant -1
Double
53
Mul ← Add#47, Constant#52 [double]
Double
54
Goto → block 7
Block 7
55
Phi ← Mul#53, Add#47
Double
56
Return ← Phi#55
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
Double
10
Unbox Parameter#1 to Double (fallible)
Double
11
Unbox Parameter#2 to Double (fallible)
Double
12
Sub ← Unbox#10, Unbox#11 [double]
Double
13
Unbox Parameter#1 to Double (fallible)
Double
14
Unbox Parameter#2 to Double (fallible)
Double
15
Mul ← Unbox#13, Unbox#14 [double]
Double
16
Unbox Parameter#2 to Double (fallible)
Double
17
Not ← Unbox#16
Bool
18
Not ← Not#17
Bool
19
Test ← Not#18 → block 2, block 1
1
0
Block 1
20
Constant 0x1
Int32
21
Goto → block 2
Block 2
22
Phi ← Constant#20, Parameter#2
Value
23
Unbox Parameter#1 to Double (fallible)
Double
24
Unbox Phi#22 to Double (fallible)
Double
25
Div ← Unbox#23, Unbox#24 [double]
Double
26
Unbox Parameter#2 to Double (fallible)
Double
27
Not ← Unbox#26
Bool
28
Not ← Not#27
Bool
29
Test ← Not#28 → block 4, block 3
1
0
Block 3
30
Constant 0x1
Int32
31
Goto → block 4
Block 4
32
Phi ← Constant#30, Parameter#2
Value
33
Unbox Parameter#1 to Double (fallible)
Double
34
Unbox Phi#32 to Double (fallible)
Double
35
Mod ← Unbox#33, Unbox#34 [double]
Double
36
Constant 0x2
Int32
37
Unbox Parameter#1 to Double (fallible)
Double
38
Pow ← Unbox#37, Constant#36
Double
39
Constant 0x2
Int32
40
Unbox Parameter#2 to Double (fallible)
Double
41
Pow ← Unbox#40, Constant#39
Double
42
Add ← Add#9, Sub#12 [double]
Double
43
Add ← Add#42, Mul#15 [double]
Double
44
Add ← Add#43, Div#25 [double]
Double
45
Add ← Add#44, Mod#35 [double]
Double
46
Add ← Add#45, Pow#38 [double]
Double
47
Add ← Add#46, Pow#41 [double]
Double
48
Constant 0x0
Int32
49
Compare ← Add#47, Constant#48 Gt
Bool
50
Test ← Compare#49 → block 5, block 6
1
0
Block 5
51
Goto → block 7
Block 6
52
Constant -1
Double
53
Mul ← Add#47, Constant#52 [double]
Double
54
Goto → block 7
Block 7
55
Phi ← Mul#53, Add#47
Double
56
Return ← Phi#55
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
Double
10
Unbox Parameter#1 to Double (fallible)
Double
11
Unbox Parameter#2 to Double (fallible)
Double
12
Sub ← Unbox#10, Unbox#11 [double]
Double
13
Unbox Parameter#1 to Double (fallible)
Double
14
Unbox Parameter#2 to Double (fallible)
Double
15
Mul ← Unbox#13, Unbox#14 [double]
Double
16
Unbox Parameter#2 to Double (fallible)
Double
17
Not ← Unbox#16
Bool
18
Not ← Not#17
Bool
19
Test ← Not#18 → block 2, block 1
1
0
Block 1
57
Constant magic optimized-out
MagicOptimizedOut
20
Constant 0x1
Int32
21
Goto → block 2
Block 2
22
Phi ← Constant#20, Parameter#2
Value
23
Unbox Parameter#1 to Double (fallible)
Double
24
Unbox Phi#22 to Double (fallible)
Double
25
Div ← Unbox#23, Unbox#24 [double]
Double
26
Unbox Parameter#2 to Double (fallible)
Double
27
Not ← Unbox#26
Bool
28
Not ← Not#27
Bool
29
Test ← Not#28 → block 4, block 3
1
0
Block 3
58
Constant magic optimized-out
MagicOptimizedOut
30
Constant 0x1
Int32
31
Goto → block 4
Block 4
32
Phi ← Constant#30, Parameter#2
Value
33
Unbox Parameter#1 to Double (fallible)
Double
34
Unbox Phi#32 to Double (fallible)
Double
35
Mod ← Unbox#33, Unbox#34 [double]
Double
36
Constant 0x2
Int32
37
Unbox Parameter#1 to Double (fallible)
Double
38
Pow ← Unbox#37, Constant#36
Double
39
Constant 0x2
Int32
40
Unbox Parameter#2 to Double (fallible)
Double
41
Pow ← Unbox#40, Constant#39
Double
42
Add ← Add#9, Sub#12 [double]
Double
43
Add ← Add#42, Mul#15 [double]
Double
44
Add ← Add#43, Div#25 [double]
Double
45
Add ← Add#44, Mod#35 [double]
Double
46
Add ← Add#45, Pow#38 [double]
Double
47
Add ← Add#46, Pow#41 [double]
Double
48
Constant 0x0
Int32
49
Compare ← Add#47, Constant#48 Gt
Bool
50
Test ← Compare#49 → block 5, block 6
1
0
Block 5
51
Goto → block 7
Block 6
52
Constant -1
Double
53
Mul ← Add#47, Constant#52 [double]
Double
54
Goto → block 7
Block 7
55
Phi ← Mul#53, Add#47
Double
56
Return ← Phi#55
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
Double
10
Unbox Parameter#1 to Double (fallible)
Double
11
Unbox Parameter#2 to Double (fallible)
Double
12
Sub ← Unbox#10, Unbox#11 [double]
Double
13
Unbox Parameter#1 to Double (fallible)
Double
14
Unbox Parameter#2 to Double (fallible)
Double
15
Mul ← Unbox#13, Unbox#14 [double]
Double
16
Unbox Parameter#2 to Double (fallible)
Double
17
Not ← Unbox#16
Bool
18
Not ← Not#17
Bool
19
Test ← Not#18 → block 2, block 1
1
0
Block 1
57
Constant magic optimized-out
MagicOptimizedOut
20
Constant 0x1
Int32
21
Goto → block 2
Block 2
22
Phi ← Constant#20, Parameter#2
Value
23
Unbox Parameter#1 to Double (fallible)
Double
24
Unbox Phi#22 to Double (fallible)
Double
25
Div ← Unbox#23, Unbox#24 [double]
Double
26
Unbox Parameter#2 to Double (fallible)
Double
27
Not ← Unbox#26
Bool
28
Not ← Not#27
Bool
29
Test ← Not#28 → block 4, block 3
1
0
Block 3
58
Constant magic optimized-out
MagicOptimizedOut
30
Constant 0x1
Int32
31
Goto → block 4
Block 4
32
Phi ← Constant#30, Parameter#2
Value
33
Unbox Parameter#1 to Double (fallible)
Double
34
Unbox Phi#32 to Double (fallible)
Double
35
Mod ← Unbox#33, Unbox#34 [double]
Double
36
Constant 0x2
Int32
37
Unbox Parameter#1 to Double (fallible)
Double
38
Pow ← Unbox#37, Constant#36
Double
39
Constant 0x2
Int32
40
Unbox Parameter#2 to Double (fallible)
Double
41
Pow ← Unbox#40, Constant#39
Double
42
Add ← Add#9, Sub#12 [double]
Double
43
Add ← Add#42, Mul#15 [double]
Double
44
Add ← Add#43, Div#25 [double]
Double
45
Add ← Add#44, Mod#35 [double]
Double
46
Add ← Add#45, Pow#38 [double]
Double
47
Add ← Add#46, Pow#41 [double]
Double
48
Constant 0x0
Int32
49
Compare ← Add#47, Constant#48 Gt
Bool
50
Test ← Compare#49 → block 5, block 6
1
0
Block 5
51
Goto → block 7
Block 6
52
Constant -1
Double
53
Mul ← Add#47, Constant#52 [double]
Double
54
Goto → block 7
Block 7
55
Phi ← Mul#53, Add#47
Double
56
Return ← Phi#55
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
Double
10
Unbox Parameter#1 to Double (fallible)
Double
11
Unbox Parameter#2 to Double (fallible)
Double
12
Sub ← Unbox#10, Unbox#11 [double]
Double
13
Unbox Parameter#1 to Double (fallible)
Double
14
Unbox Parameter#2 to Double (fallible)
Double
15
Mul ← Unbox#13, Unbox#14 [double]
Double
16
Unbox Parameter#2 to Double (fallible)
Double
17
Not ← Unbox#16
Bool
18
Not ← Not#17
Bool
19
Test ← Not#18 → block 8, block 1
1
0
Block 8 (split edge)
59
Goto → block 2
Block 1
57
Constant magic optimized-out
MagicOptimizedOut
20
Constant 0x1
Int32
21
Goto → block 2
Block 2
22
Phi ← Constant#20, Parameter#2
Value
23
Unbox Parameter#1 to Double (fallible)
Double
24
Unbox Phi#22 to Double (fallible)
Double
25
Div ← Unbox#23, Unbox#24 [double]
Double
26
Unbox Parameter#2 to Double (fallible)
Double
27
Not ← Unbox#26
Bool
28
Not ← Not#27
Bool
29
Test ← Not#28 → block 9, block 3
1
0
Block 9 (split edge)
60
Goto → block 4
Block 3
58
Constant magic optimized-out
MagicOptimizedOut
30
Constant 0x1
Int32
31
Goto → block 4
Block 4
32
Phi ← Constant#30, Parameter#2
Value
33
Unbox Parameter#1 to Double (fallible)
Double
34
Unbox Phi#32 to Double (fallible)
Double
35
Mod ← Unbox#33, Unbox#34 [double]
Double
36
Constant 0x2
Int32
37
Unbox Parameter#1 to Double (fallible)
Double
38
Pow ← Unbox#37, Constant#36
Double
39
Constant 0x2
Int32
40
Unbox Parameter#2 to Double (fallible)
Double
41
Pow ← Unbox#40, Constant#39
Double
42
Add ← Add#9, Sub#12 [double]
Double
43
Add ← Add#42, Mul#15 [double]
Double
44
Add ← Add#43, Div#25 [double]
Double
45
Add ← Add#44, Mod#35 [double]
Double
46
Add ← Add#45, Pow#38 [double]
Double
47
Add ← Add#46, Pow#41 [double]
Double
48
Constant 0x0
Int32
49
Compare ← Add#47, Constant#48 Gt
Bool
50
Test ← Compare#49 → block 5, block 6
1
0
Block 5
51
Goto → block 7
Block 6
52
Constant -1
Double
53
Mul ← Add#47, Constant#52 [double]
Double
54
Goto → block 7
Block 7
55
Phi ← Mul#53, Add#47
Double
56
Return ← Phi#55
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
Double
10
Unbox Parameter#1 to Double (fallible)
Double
11
Unbox Parameter#2 to Double (fallible)
Double
12
Sub ← Unbox#10, Unbox#11 [double]
Double
13
Unbox Parameter#1 to Double (fallible)
Double
14
Unbox Parameter#2 to Double (fallible)
Double
15
Mul ← Unbox#13, Unbox#14 [double]
Double
16
Unbox Parameter#2 to Double (fallible)
Double
17
Not ← Unbox#16
Bool
18
Not ← Not#17
Bool
19
Test ← Not#18 → block 1, block 2
1
0
Block 1 (split edge)
59
Goto → block 3
Block 2
57
Constant magic optimized-out
MagicOptimizedOut
20
Constant 0x1
Int32
21
Goto → block 3
Block 3
22
Phi ← Constant#20, Parameter#2
Value
23
Unbox Parameter#1 to Double (fallible)
Double
24
Unbox Phi#22 to Double (fallible)
Double
25
Div ← Unbox#23, Unbox#24 [double]
Double
26
Unbox Parameter#2 to Double (fallible)
Double
27
Not ← Unbox#26
Bool
28
Not ← Not#27
Bool
29
Test ← Not#28 → block 4, block 5
1
0
Block 4 (split edge)
60
Goto → block 6
Block 5
58
Constant magic optimized-out
MagicOptimizedOut
30
Constant 0x1
Int32
31
Goto → block 6
Block 6
32
Phi ← Constant#30, Parameter#2
Value
33
Unbox Parameter#1 to Double (fallible)
Double
34
Unbox Phi#32 to Double (fallible)
Double
35
Mod ← Unbox#33, Unbox#34 [double]
Double
36
Constant 0x2
Int32
37
Unbox Parameter#1 to Double (fallible)
Double
38
Pow ← Unbox#37, Constant#36
Double
39
Constant 0x2
Int32
40
Unbox Parameter#2 to Double (fallible)
Double
41
Pow ← Unbox#40, Constant#39
Double
42
Add ← Add#9, Sub#12 [double]
Double
43
Add ← Add#42, Mul#15 [double]
Double
44
Add ← Add#43, Div#25 [double]
Double
45
Add ← Add#44, Mod#35 [double]
Double
46
Add ← Add#45, Pow#38 [double]
Double
47
Add ← Add#46, Pow#41 [double]
Double
48
Constant 0x0
Int32
49
Compare ← Add#47, Constant#48 Gt
Bool
50
Test ← Compare#49 → block 7, block 8
1
0
Block 7
51
Goto → block 9
Block 8
52
Constant -1
Double
53
Mul ← Add#47, Constant#52 [double]
Double
54
Goto → block 9
Block 9
55
Phi ← Mul#53, Add#47
Double
56
Return ← Phi#55
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
Double
10
Unbox Parameter#1 to Double (fallible)
Double
11
Unbox Parameter#2 to Double (fallible)
Double
12
Sub ← Unbox#10, Unbox#11 [double]
Double
13
Unbox Parameter#1 to Double (fallible)
Double
14
Unbox Parameter#2 to Double (fallible)
Double
15
Mul ← Unbox#13, Unbox#14 [double]
Double
16
Unbox Parameter#2 to Double (fallible)
Double
17
Not ← Unbox#16
Bool
18
Not ← Not#17
Bool
19
Test ← Not#18 → block 1, block 2
1
0
Block 1 (split edge)
59
Goto → block 3
Block 2
57
Constant magic optimized-out
MagicOptimizedOut
20
Constant 0x1
Int32
21
Goto → block 3
Block 3
22
Phi ← Constant#20, Parameter#2
Value
23
Unbox Parameter#1 to Double (fallible)
Double
24
Unbox Phi#22 to Double (fallible)
Double
25
Div ← Unbox#23, Unbox#24 [double]
Double
26
Unbox Parameter#2 to Double (fallible)
Double
27
Not ← Unbox#26
Bool
28
Not ← Not#27
Bool
29
Test ← Not#28 → block 4, block 5
1
0
Block 4 (split edge)
60
Goto → block 6
Block 5
58
Constant magic optimized-out
MagicOptimizedOut
30
Constant 0x1
Int32
31
Goto → block 6
Block 6
32
Phi ← Constant#30, Parameter#2
Value
33
Unbox Parameter#1 to Double (fallible)
Double
34
Unbox Phi#32 to Double (fallible)
Double
35
Mod ← Unbox#33, Unbox#34 [double]
Double
36
Constant 0x2
Int32
37
Unbox Parameter#1 to Double (fallible)
Double
38
Pow ← Unbox#37, Constant#36
Double
39
Constant 0x2
Int32
40
Unbox Parameter#2 to Double (fallible)
Double
41
Pow ← Unbox#40, Constant#39
Double
42
Add ← Add#9, Sub#12 [double]
Double
43
Add ← Add#42, Mul#15 [double]
Double
44
Add ← Add#43, Div#25 [double]
Double
45
Add ← Add#44, Mod#35 [double]
Double
46
Add ← Add#45, Pow#38 [double]
Double
47
Add ← Add#46, Pow#41 [double]
Double
48
Constant 0x0
Int32
49
Compare ← Add#47, Constant#48 Gt
Bool
50
Test ← Compare#49 → block 7, block 8
1
0
Block 7
51
Goto → block 9
Block 8
52
Constant -1
Double
53
Mul ← Add#47, Constant#52 [double]
Double
54
Goto → block 9
Block 9
55
Phi ← Mul#53, Add#47
Double
56
Return ← Phi#55
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
Double
10
Unbox Parameter#1 to Double (fallible)
Double
11
Unbox Parameter#2 to Double (fallible)
Double
12
Sub ← Unbox#10, Unbox#11 [double]
Double
13
Unbox Parameter#1 to Double (fallible)
Double
14
Unbox Parameter#2 to Double (fallible)
Double
15
Mul ← Unbox#13, Unbox#14 [double]
Double
16
Unbox Parameter#2 to Double (fallible)
Double
17
Not ← Unbox#16
Bool
18
Not ← Not#17
Bool
19
Test ← Not#18 → block 1, block 2
1
0
Block 1 (split edge)
59
Goto → block 3
Block 2
57
Constant magic optimized-out
MagicOptimizedOut
20
Constant 0x1
Int32
21
Goto → block 3
Block 3
22
Phi ← Constant#20, Parameter#2
Value
23
Unbox Parameter#1 to Double (fallible)
Double
24
Unbox Phi#22 to Double (fallible)
Double
25
Div ← Unbox#23, Unbox#24 [double]
Double
26
Unbox Parameter#2 to Double (fallible)
Double
27
Not ← Unbox#26
Bool
28
Not ← Not#27
Bool
29
Test ← Not#28 → block 4, block 5
1
0
Block 4 (split edge)
60
Goto → block 6
Block 5
58
Constant magic optimized-out
MagicOptimizedOut
30
Constant 0x1
Int32
31
Goto → block 6
Block 6
32
Phi ← Constant#30, Parameter#2
Value
33
Unbox Parameter#1 to Double (fallible)
Double
34
Unbox Phi#32 to Double (fallible)
Double
35
Mod ← Unbox#33, Unbox#34 [double]
Double
36
Constant 0x2
Int32
37
Unbox Parameter#1 to Double (fallible)
Double
38
Pow ← Unbox#37, Constant#36
Double
39
Constant 0x2
Int32
40
Unbox Parameter#2 to Double (fallible)
Double
41
Pow ← Unbox#40, Constant#39
Double
42
Add ← Add#9, Sub#12 [double]
Double
43
Add ← Add#42, Mul#15 [double]
Double
44
Add ← Add#43, Div#25 [double]
Double
45
Add ← Add#44, Mod#35 [double]
Double
46
Add ← Add#45, Pow#38 [double]
Double
47
Add ← Add#46, Pow#41 [double]
Double
48
Constant 0x0
Int32
49
Compare ← Add#47, Constant#48 Gt
Bool
50
Test ← Compare#49 → block 7, block 8
1
0
Block 7
51
Goto → block 9
Block 8
52
Constant -1
Double
53
Mul ← Add#47, Constant#52 [double]
Double
54
Goto → block 9
Block 9
55
Phi ← Mul#53, Add#47
Double
56
Return ← Phi#55
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
Double
10
Unbox Parameter#1 to Double (fallible)
Double
11
Unbox Parameter#2 to Double (fallible)
Double
12
Sub ← Unbox#10, Unbox#11 [double]
Double
13
Unbox Parameter#1 to Double (fallible)
Double
14
Unbox Parameter#2 to Double (fallible)
Double
15
Mul ← Unbox#13, Unbox#14 [double]
Double
16
Unbox Parameter#2 to Double (fallible)
Double
17
Not ← Unbox#16
Bool
18
Not ← Not#17
Bool
19
Test ← Not#18 → block 1, block 2
1
0
Block 1 (split edge)
59
Goto → block 3
Block 2
57
Constant magic optimized-out
MagicOptimizedOut
20
Constant 0x1
Int32
21
Goto → block 3
Block 3
22
Phi ← Constant#20, Parameter#2
Value
23
Unbox Parameter#1 to Double (fallible)
Double
24
Unbox Phi#22 to Double (fallible)
Double
25
Div ← Unbox#23, Unbox#24 [double]
Double
26
Unbox Parameter#2 to Double (fallible)
Double
27
Not ← Unbox#26
Bool
28
Not ← Not#27
Bool
29
Test ← Not#28 → block 4, block 5
1
0
Block 4 (split edge)
60
Goto → block 6
Block 5
58
Constant magic optimized-out
MagicOptimizedOut
30
Constant 0x1
Int32
31
Goto → block 6
Block 6
32
Phi ← Constant#30, Parameter#2
Value
33
Unbox Parameter#1 to Double (fallible)
Double
34
Unbox Phi#32 to Double (fallible)
Double
35
Mod ← Unbox#33, Unbox#34 [double]
Double
36
Constant 0x2
Int32
37
Unbox Parameter#1 to Double (fallible)
Double
38
Pow ← Unbox#37, Constant#36
Double
39
Constant 0x2
Int32
40
Unbox Parameter#2 to Double (fallible)
Double
41
Pow ← Unbox#40, Constant#39
Double
42
Add ← Add#9, Sub#12 [double]
Double
43
Add ← Add#42, Mul#15 [double]
Double
44
Add ← Add#43, Div#25 [double]
Double
45
Add ← Add#44, Mod#35 [double]
Double
46
Add ← Add#45, Pow#38 [double]
Double
47
Add ← Add#46, Pow#41 [double]
Double
48
Constant 0x0
Int32
49
Compare ← Add#47, Constant#48 Gt
Bool
50
Test ← Compare#49 → block 7, block 8
1
0
Block 7
51
Goto → block 9
Block 8
52
Constant -1
Double
53
Mul ← Add#47, Constant#52 [double]
Double
54
Goto → block 9
Block 9
55
Phi ← Mul#53, Add#47
Double
56
Return ← Phi#55
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
Double
10
Unbox Parameter#1 to Double (fallible)
Double
11
Unbox Parameter#2 to Double (fallible)
Double
12
Sub ← Unbox#10, Unbox#11 [double]
Double
13
Unbox Parameter#1 to Double (fallible)
Double
14
Unbox Parameter#2 to Double (fallible)
Double
15
Mul ← Unbox#13, Unbox#14 [double]
Double
16
Unbox Parameter#2 to Double (fallible)
Double
17
Not ← Unbox#16
Bool
18
Not ← Not#17
Bool
19
Test ← Not#18 → block 1, block 2
1
0
Block 1 (split edge)
59
Goto → block 3
Block 2
57
Constant magic optimized-out
MagicOptimizedOut
20
Constant 0x1
Int32
21
Goto → block 3
Block 3
22
Phi ← Constant#20, Parameter#2
Value
23
Unbox Parameter#1 to Double (fallible)
Double
24
Unbox Phi#22 to Double (fallible)
Double
25
Div ← Unbox#23, Unbox#24 [double]
Double
26
Unbox Parameter#2 to Double (fallible)
Double
27
Not ← Unbox#26
Bool
28
Not ← Not#27
Bool
29
Test ← Not#28 → block 4, block 5
1
0
Block 4 (split edge)
60
Goto → block 6
Block 5
58
Constant magic optimized-out
MagicOptimizedOut
30
Constant 0x1
Int32
31
Goto → block 6
Block 6
32
Phi ← Constant#30, Parameter#2
Value
33
Unbox Parameter#1 to Double (fallible)
Double
34
Unbox Phi#32 to Double (fallible)
Double
35
Mod ← Unbox#33, Unbox#34 [double]
Double
36
Constant 0x2
Int32
37
Unbox Parameter#1 to Double (fallible)
Double
38
Pow ← Unbox#37, Constant#36
Double
39
Constant 0x2
Int32
40
Unbox Parameter#2 to Double (fallible)
Double
41
Pow ← Unbox#40, Constant#39
Double
42
Add ← Add#9, Sub#12 [double]
Double
43
Add ← Add#42, Mul#15 [double]
Double
44
Add ← Add#43, Div#25 [double]
Double
45
Add ← Add#44, Mod#35 [double]
Double
46
Add ← Add#45, Pow#38 [double]
Double
47
Add ← Add#46, Pow#41 [double]
Double
48
Constant 0x0
Int32
49
Compare ← Add#47, Constant#48 Gt
Bool
50
Test ← Compare#49 → block 7, block 8
1
0
Block 7
51
Goto → block 9
Block 8
52
Constant -1
Double
53
Mul ← Add#47, Constant#52 [double]
Double
54
Goto → block 9
Block 9
55
Phi ← Mul#53, Add#47
Double
56
Return ← Phi#55
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
Double
10
Unbox Parameter#1 to Double (fallible)
Double
11
Unbox Parameter#2 to Double (fallible)
Double
12
Sub ← Unbox#10, Unbox#11 [double]
Double
13
Unbox Parameter#1 to Double (fallible)
Double
14
Unbox Parameter#2 to Double (fallible)
Double
15
Mul ← Unbox#13, Unbox#14 [double]
Double
16
Unbox Parameter#2 to Double (fallible)
Double
17
Not ← Unbox#16
Bool
18
Not ← Not#17
Bool
19
Test ← Not#18 → block 1, block 2
1
0
Block 1 (split edge)
59
Goto → block 3
Block 2
57
Constant magic optimized-out
MagicOptimizedOut
20
Constant 0x1
Int32
61
Box ← Constant#20
Value
21
Goto → block 3
Block 3
22
Phi ← Box#61, Parameter#2
Value
23
Unbox Parameter#1 to Double (fallible)
Double
24
Unbox Phi#22 to Double (fallible)
Double
25
Div ← Unbox#23, Unbox#24 [double]
Double
26
Unbox Parameter#2 to Double (fallible)
Double
27
Not ← Unbox#26
Bool
28
Not ← Not#27
Bool
29
Test ← Not#28 → block 4, block 5
1
0
Block 4 (split edge)
60
Goto → block 6
Block 5
58
Constant magic optimized-out
MagicOptimizedOut
30
Constant 0x1
Int32
62
Box ← Constant#30
Value
31
Goto → block 6
Block 6
32
Phi ← Box#62, Parameter#2
Value
33
Unbox Parameter#1 to Double (fallible)
Double
34
Unbox Phi#32 to Double (fallible)
Double
35
Mod ← Unbox#33, Unbox#34 [double]
Double
36
Constant 0x2
Int32
37
Unbox Parameter#1 to Double (fallible)
Double
63
ToDouble ← Constant#36
Double
38
Pow ← Unbox#37, ToDouble#63
Double
39
Constant 0x2
Int32
40
Unbox Parameter#2 to Double (fallible)
Double
64
ToDouble ← Constant#39
Double
41
Pow ← Unbox#40, ToDouble#64
Double
42
Add ← Add#9, Sub#12 [double]
Double
43
Add ← Add#42, Mul#15 [double]
Double
44
Add ← Add#43, Div#25 [double]
Double
45
Add ← Add#44, Mod#35 [double]
Double
46
Add ← Add#45, Pow#38 [double]
Double
47
Add ← Add#46, Pow#41 [double]
Double
48
Constant 0x0
Int32
65
ToDouble ← Constant#48
Double
49
Compare ← Add#47, ToDouble#65 Gt
Bool
50
Test ← Compare#49 → block 7, block 8
1
0
Block 7
51
Goto → block 9
Block 8
52
Constant -1
Double
53
Mul ← Add#47, Constant#52 [double]
Double
54
Goto → block 9
Block 9
55
Phi ← Mul#53, Add#47
Double
66
Box ← Phi#55
Value
56
Return ← Box#66
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
Double
10
Unbox Parameter#1 to Double (fallible)
Double
11
Unbox Parameter#2 to Double (fallible)
Double
12
Sub ← Unbox#10, Unbox#11 [double]
Double
13
Unbox Parameter#1 to Double (fallible)
Double
14
Unbox Parameter#2 to Double (fallible)
Double
15
Mul ← Unbox#13, Unbox#14 [double]
Double
16
Unbox Parameter#2 to Double (fallible)
Double
17
Not ← Unbox#16
Bool
18
Not ← Not#17
Bool
19
Test ← Not#18 → block 1, block 2
1
0
Block 1 (split edge)
20
Goto → block 3
Block 2
21
Constant magic optimized-out
MagicOptimizedOut
22
Constant 0x1
Int32
23
Box ← Constant#22
Value
24
Goto → block 3
Block 3
25
Phi ← Box#23, Parameter#2
Value
26
Unbox Parameter#1 to Double (fallible)
Double
27
Unbox Phi#25 to Double (fallible)
Double
28
Div ← Unbox#26, Unbox#27 [double]
Double
29
Unbox Parameter#2 to Double (fallible)
Double
30
Not ← Unbox#29
Bool
31
Not ← Not#30
Bool
32
Test ← Not#31 → block 4, block 5
1
0
Block 4 (split edge)
33
Goto → block 6
Block 5
34
Constant magic optimized-out
MagicOptimizedOut
35
Constant 0x1
Int32
36
Box ← Constant#35
Value
37
Goto → block 6
Block 6
38
Phi ← Box#36, Parameter#2
Value
39
Unbox Parameter#1 to Double (fallible)
Double
40
Unbox Phi#38 to Double (fallible)
Double
41
Mod ← Unbox#39, Unbox#40 [double]
Double
42
Constant 0x2
Int32
43
Unbox Parameter#1 to Double (fallible)
Double
44
ToDouble ← Constant#42
Double
45
Pow ← Unbox#43, ToDouble#44
Double
46
Constant 0x2
Int32
47
Unbox Parameter#2 to Double (fallible)
Double
48
ToDouble ← Constant#46
Double
49
Pow ← Unbox#47, ToDouble#48
Double
50
Add ← Add#9, Sub#12 [double]
Double
51
Add ← Add#50, Mul#15 [double]
Double
52
Add ← Add#51, Div#28 [double]
Double
53
Add ← Add#52, Mod#41 [double]
Double
54
Add ← Add#53, Pow#45 [double]
Double
55
Add ← Add#54, Pow#49 [double]
Double
56
Constant 0x0
Int32
57
ToDouble ← Constant#56
Double
58
Compare ← Add#55, ToDouble#57 Gt
Bool
59
Test ← Compare#58 → block 7, block 8
1
0
Block 7
60
Goto → block 9
Block 8
61
Constant -1
Double
62
Mul ← Add#55, Constant#61 [double]
Double
63
Goto → block 9
Block 9
64
Phi ← Mul#62, Add#55
Double
65
Box ← Phi#64
Value
66
Return ← Box#65
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
Double
10
Unbox Parameter#1 to Double (fallible)
Double
11
Unbox Parameter#2 to Double (fallible)
Double
12
Sub ← Unbox#10, Unbox#11 [double]
Double
13
Unbox Parameter#1 to Double (fallible)
Double
14
Unbox Parameter#2 to Double (fallible)
Double
15
Mul ← Unbox#13, Unbox#14 [double]
Double
16
Unbox Parameter#2 to Double (fallible)
Double
17
Not ← Unbox#16
Bool
18
Not ← Not#17
Bool
19
Test ← Not#18 → block 1, block 2
1
0
Block 1 (split edge)
20
Goto → block 3
Block 2
21
Constant magic optimized-out
MagicOptimizedOut
22
Constant 0x1
Int32
23
Box ← Constant#22
Value
24
Goto → block 3
Block 3
25
Phi ← Box#23, Parameter#2
Value
26
Unbox Parameter#1 to Double (fallible)
Double
27
Unbox Phi#25 to Double (fallible)
Double
28
Div ← Unbox#26, Unbox#27 [double]
Double
29
Unbox Parameter#2 to Double (fallible)
Double
30
Not ← Unbox#29
Bool
31
Not ← Not#30
Bool
32
Test ← Not#31 → block 4, block 5
1
0
Block 4 (split edge)
33
Goto → block 6
Block 5
34
Constant magic optimized-out
MagicOptimizedOut
35
Constant 0x1
Int32
36
Box ← Constant#35
Value
37
Goto → block 6
Block 6
38
Phi ← Box#36, Parameter#2
Value
39
Unbox Parameter#1 to Double (fallible)
Double
40
Unbox Phi#38 to Double (fallible)
Double
41
Mod ← Unbox#39, Unbox#40 [double]
Double
42
Constant 0x2
Int32
43
Unbox Parameter#1 to Double (fallible)
Double
44
ToDouble ← Constant#42
Double
45
Pow ← Unbox#43, ToDouble#44
Double
46
Constant 0x2
Int32
47
Unbox Parameter#2 to Double (fallible)
Double
48
ToDouble ← Constant#46
Double
49
Pow ← Unbox#47, ToDouble#48
Double
50
Add ← Add#9, Sub#12 [double]
Double
51
Add ← Add#50, Mul#15 [double]
Double
52
Add ← Add#51, Div#28 [double]
Double
53
Add ← Add#52, Mod#41 [double]
Double
54
Add ← Add#53, Pow#45 [double]
Double
55
Add ← Add#54, Pow#49 [double]
Double
56
Constant 0x0
Int32
57
ToDouble ← Constant#56
Double
58
Compare ← Add#55, ToDouble#57 Gt
Bool
59
Test ← Compare#58 → block 7, block 8
1
0
Block 7
60
Goto → block 9
Block 8
61
Constant -1
Double
62
Mul ← Add#55, Constant#61 [double]
Double
63
Goto → block 9
Block 9
64
Phi ← Mul#62, Add#55
Double
65
Box ← Phi#64
Value
66
Return ← Box#65
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
Double
12
Sub ← Unbox#7, Unbox#8 [double]
Double
15
Mul ← Unbox#7, Unbox#8 [double]
Double
67
Test ← Unbox#8 → block 1, block 2
1
0
Block 1 (split edge)
20
Goto → block 3
Block 2
21
Constant magic optimized-out
MagicOptimizedOut
22
Constant 0x1
Int32
23
Box ← Constant#22
Value
24
Goto → block 3
Block 3
25
Phi ← Box#23, Parameter#2
Value
27
Unbox Phi#25 to Double (fallible)
Double
28
Div ← Unbox#7, Unbox#27 [double]
Double
68
Test ← Unbox#8 → block 4, block 5
1
0
Block 4 (split edge)
33
Goto → block 6
Block 5
34
Constant magic optimized-out
MagicOptimizedOut
35
Constant 0x1
Int32
36
Box ← Constant#35
Value
37
Goto → block 6
Block 6
38
Phi ← Box#36, Parameter#2
Value
40
Unbox Phi#38 to Double (fallible)
Double
41
Mod ← Unbox#7, Unbox#40 [double]
Double
70
Mul ← Unbox#7, Unbox#7 [double]
Double
72
Mul ← Unbox#8, Unbox#8 [double]
Double
50
Add ← Add#9, Sub#12 [double]
Double
51
Add ← Add#50, Mul#15 [double]
Double
52
Add ← Add#51, Div#28 [double]
Double
53
Add ← Add#52, Mod#41 [double]
Double
54
Add ← Add#53, Mul#70 [double]
Double
55
Add ← Add#54, Mul#72 [double]
Double
73
Constant 0
Double
58
Compare ← Add#55, Constant#73 Gt
Bool
59
Test ← Compare#58 → block 7, block 8
1
0
Block 7
60
Goto → block 9
Block 8
61
Constant -1
Double
62
Mul ← Add#55, Constant#61 [double]
Double
63
Goto → block 9
Block 9
64
Phi ← Mul#62, Add#55
Double
65
Box ← Phi#64
Value
66
Return ← Box#65
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
Double
12
Sub ← Unbox#7, Unbox#8 [double]
Double
15
Mul ← Unbox#7, Unbox#8 [double]
Double
67
Test ← Unbox#8 → block 1, block 2
1
0
Block 1 (split edge)
20
Goto → block 3
Block 2
21
Constant magic optimized-out
MagicOptimizedOut
22
Constant 0x1
Int32
23
Box ← Constant#22
Value
24
Goto → block 3
Block 3
25
Phi ← Box#23, Parameter#2
Value
27
Unbox Phi#25 to Double (fallible)
Double
28
Div ← Unbox#7, Unbox#27 [double]
Double
68
Test ← Unbox#8 → block 4, block 5
1
0
Block 4 (split edge)
33
Goto → block 6
Block 5
34
Constant magic optimized-out
MagicOptimizedOut
35
Constant 0x1
Int32
36
Box ← Constant#35
Value
37
Goto → block 6
Block 6
38
Phi ← Box#36, Parameter#2
Value
40
Unbox Phi#38 to Double (fallible)
Double
41
Mod ← Unbox#7, Unbox#40 [double]
Double
70
Mul ← Unbox#7, Unbox#7 [double]
Double
72
Mul ← Unbox#8, Unbox#8 [double]
Double
50
Add ← Add#9, Sub#12 [double]
Double
51
Add ← Add#50, Mul#15 [double]
Double
52
Add ← Add#51, Div#28 [double]
Double
53
Add ← Add#52, Mod#41 [double]
Double
54
Add ← Add#53, Mul#70 [double]
Double
55
Add ← Add#54, Mul#72 [double]
Double
73
Constant 0
Double
58
Compare ← Add#55, Constant#73 Gt
Bool
59
Test ← Compare#58 → block 7, block 8
1
0
Block 7
60
Goto → block 9
Block 8
61
Constant -1
Double
62
Mul ← Add#55, Constant#61 [double]
Double
63
Goto → block 9
Block 9
64
Phi ← Mul#62, Add#55
Double
65
Box ← Phi#64
Value
66
Return ← Box#65
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
Double
12
Sub ← Unbox#7, Unbox#8 [double]
Double
15
Mul ← Unbox#7, Unbox#8 [double]
Double
67
Test ← Unbox#8 → block 1, block 2
1
0
Block 1 (split edge)
20
Goto → block 3
Block 2
21
Constant magic optimized-out
MagicOptimizedOut
22
Constant 0x1
Int32
23
Box ← Constant#22
Value
24
Goto → block 3
Block 3
25
Phi ← Box#23, Parameter#2
Value
27
Unbox Phi#25 to Double (fallible)
Double
28
Div ← Unbox#7, Unbox#27 [double]
Double
68
Test ← Unbox#8 → block 4, block 5
1
0
Block 4 (split edge)
33
Goto → block 6
Block 5
34
Constant magic optimized-out
MagicOptimizedOut
35
Constant 0x1
Int32
36
Box ← Constant#35
Value
37
Goto → block 6
Block 6
38
Phi ← Box#36, Parameter#2
Value
40
Unbox Phi#38 to Double (fallible)
Double
41
Mod ← Unbox#7, Unbox#40 [double]
Double
70
Mul ← Unbox#7, Unbox#7 [double]
Double
72
Mul ← Unbox#8, Unbox#8 [double]
Double
50
Add ← Add#9, Sub#12 [double]
Double
51
Add ← Add#50, Mul#15 [double]
Double
52
Add ← Add#51, Div#28 [double]
Double
53
Add ← Add#52, Mod#41 [double]
Double
54
Add ← Add#53, Mul#70 [double]
Double
55
Add ← Add#54, Mul#72 [double]
Double
73
Constant 0
Double
58
Compare ← Add#55, Constant#73 Gt
Bool
59
Test ← Compare#58 → block 7, block 8
1
0
Block 7
75
Beta ← Add#55 F[0, ?] (U Infinity)
Double
60
Goto → block 9
Block 8
74
Beta ← Add#55 F[?, 0] (U NaN U -Infinity U -0)
Double
61
Constant -1
Double
62
Mul ← Beta#74, Constant#61 [double]
Double
63
Goto → block 9
Block 9
64
Phi ← Mul#62, Beta#75
Double
65
Box ← Phi#64
Value
66
Return ← Box#65
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
Sub ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
15
Mul ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
67
Test ← Unbox#8 → block 1, block 2
1
0
Block 1 (split edge)
20
Goto → block 3
Block 2
21
Constant magic optimized-out
MagicOptimizedOut
22
Constant 0x1
I[1, 1]: Int32
23
Box ← Constant#22
Value
24
Goto → block 3
Block 3
25
Phi ← Box#23, Parameter#2
Value
27
Unbox Phi#25 to Double (fallible)
Double
28
Div ← Unbox#7, Unbox#27 [double]
Double
68
Test ← Unbox#8 → block 4, block 5
1
0
Block 4 (split edge)
33
Goto → block 6
Block 5
34
Constant magic optimized-out
MagicOptimizedOut
35
Constant 0x1
I[1, 1]: Int32
36
Box ← Constant#35
Value
37
Goto → block 6
Block 6
38
Phi ← Box#36, Parameter#2
Value
40
Unbox Phi#38 to Double (fallible)
Double
41
Mod ← Unbox#7, Unbox#40 [double]
Double
70
Mul ← Unbox#7, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
72
Mul ← Unbox#8, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
50
Add ← Add#9, Sub#12 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
51
Add ← Add#50, Mul#15 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52
Add ← Add#51, Div#28 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
53
Add ← Add#52, Mod#41 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
54
Add ← Add#53, Mul#70 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
55
Add ← Add#54, Mul#72 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
73
Constant 0
I[0, 0]: Double
58
Compare ← Add#55, Constant#73 Gt
Bool
59
Test ← Compare#58 → block 7, block 8
1
0
Block 7
75
Beta ← Add#55 F[0, ?] (U Infinity)
F[0, ?] (U Infinity U -0): Double
60
Goto → block 9
Block 8
74
Beta ← Add#55 F[?, 0] (U NaN U -Infinity U -0)
F[?, 0] (U NaN U -Infinity U -0): Double
61
Constant -1
I[-1, -1]: Double
62
Mul ← Beta#74, Constant#61 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
63
Goto → block 9
Block 9
64
Phi ← Mul#62, Beta#75
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
65
Box ← Phi#64
Value
66
Return ← Box#65
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
Sub ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
15
Mul ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
67
Test ← Unbox#8 → block 1, block 2
1
0
Block 1 (split edge)
20
Goto → block 3
Block 2
21
Constant magic optimized-out
MagicOptimizedOut
22
Constant 0x1
I[1, 1]: Int32
23
Box ← Constant#22
Value
24
Goto → block 3
Block 3
25
Phi ← Box#23, Parameter#2
Value
27
Unbox Phi#25 to Double (fallible)
Double
28
Div ← Unbox#7, Unbox#27 [double]
Double
68
Test ← Unbox#8 → block 4, block 5
1
0
Block 4 (split edge)
33
Goto → block 6
Block 5
34
Constant magic optimized-out
MagicOptimizedOut
35
Constant 0x1
I[1, 1]: Int32
36
Box ← Constant#35
Value
37
Goto → block 6
Block 6
38
Phi ← Box#36, Parameter#2
Value
40
Unbox Phi#38 to Double (fallible)
Double
41
Mod ← Unbox#7, Unbox#40 [double]
Double
70
Mul ← Unbox#7, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
72
Mul ← Unbox#8, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
50
Add ← Add#9, Sub#12 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
51
Add ← Add#50, Mul#15 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52
Add ← Add#51, Div#28 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
53
Add ← Add#52, Mod#41 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
54
Add ← Add#53, Mul#70 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
55
Add ← Add#54, Mul#72 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
73
Constant 0
I[0, 0]: Double
58
Compare ← Add#55, Constant#73 Gt
Bool
59
Test ← Compare#58 → block 7, block 8
1
0
Block 7
60
Goto → block 9
Block 8
61
Constant -1
I[-1, -1]: Double
62
Mul ← Add#55, Constant#61 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
63
Goto → block 9
Block 9
64
Phi ← Mul#62, Add#55
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
65
Box ← Phi#64
Value
66
Return ← Box#65
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
Sub ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
15
Mul ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
67
Test ← Unbox#8 → block 1, block 2
1
0
Block 1 (split edge)
20
Goto → block 3
Block 2
21
Constant magic optimized-out
MagicOptimizedOut
22
Constant 0x1
I[1, 1]: Int32
23
Box ← Constant#22
Value
24
Goto → block 3
Block 3
25
Phi ← Box#23, Parameter#2
Value
27
Unbox Phi#25 to Double (fallible)
Double
28
Div ← Unbox#7, Unbox#27 [double]
Double
68
Test ← Unbox#8 → block 4, block 5
1
0
Block 4 (split edge)
33
Goto → block 6
Block 5
34
Constant magic optimized-out
MagicOptimizedOut
35
Constant 0x1
I[1, 1]: Int32
36
Box ← Constant#35
Value
37
Goto → block 6
Block 6
38
Phi ← Box#36, Parameter#2
Value
40
Unbox Phi#38 to Double (fallible)
Double
41
Mod ← Unbox#7, Unbox#40 [double]
Double
70
Mul ← Unbox#7, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
72
Mul ← Unbox#8, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
50
Add ← Add#9, Sub#12 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
51
Add ← Add#50, Mul#15 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52
Add ← Add#51, Div#28 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
53
Add ← Add#52, Mod#41 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
54
Add ← Add#53, Mul#70 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
55
Add ← Add#54, Mul#72 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
73
Constant 0
I[0, 0]: Double
58
Compare ← Add#55, Constant#73 Gt
Bool
59
Test ← Compare#58 → block 7, block 8
1
0
Block 7
60
Goto → block 9
Block 8
61
Constant -1
I[-1, -1]: Double
62
Mul ← Add#55, Constant#61 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
63
Goto → block 9
Block 9
64
Phi ← Mul#62, Add#55
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
65
Box ← Phi#64
Value
66
Return ← Box#65
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
Sub ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
15
Mul ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
67
Test ← Unbox#8 → block 1, block 2
1
0
Block 1 (split edge)
20
Goto → block 3
Block 2
21
Constant magic optimized-out
MagicOptimizedOut
22
Constant 0x1
I[1, 1]: Int32
23
Box ← Constant#22
Value
24
Goto → block 3
Block 3
25
Phi ← Box#23, Parameter#2
Value
27
Unbox Phi#25 to Double (fallible)
Double
28
Div ← Unbox#7, Unbox#27 [double]
Double
68
Test ← Unbox#8 → block 4, block 5
1
0
Block 4 (split edge)
33
Goto → block 6
Block 5
34
Constant magic optimized-out
MagicOptimizedOut
35
Constant 0x1
I[1, 1]: Int32
36
Box ← Constant#35
Value
37
Goto → block 6
Block 6
38
Phi ← Box#36, Parameter#2
Value
40
Unbox Phi#38 to Double (fallible)
Double
41
Mod ← Unbox#7, Unbox#40 [double]
Double
70
Mul ← Unbox#7, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
72
Mul ← Unbox#8, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
50
Add ← Add#9, Sub#12 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
51
Add ← Add#50, Mul#15 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52
Add ← Add#51, Div#28 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
53
Add ← Add#52, Mod#41 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
54
Add ← Add#53, Mul#70 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
55
Add ← Add#54, Mul#72 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
73
Constant 0
I[0, 0]: Double
58
Compare ← Add#55, Constant#73 Gt
Bool
59
Test ← Compare#58 → block 7, block 8
1
0
Block 7
60
Goto → block 9
Block 8
61
Constant -1
I[-1, -1]: Double
62
Mul ← Add#55, Constant#61 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
63
Goto → block 9
Block 9
64
Phi ← Mul#62, Add#55
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
65
Box ← Phi#64
Value
66
Return ← Box#65
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
Sub ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
15
Mul ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
67
Test ← Unbox#8 → block 1, block 2
1
0
Block 1 (split edge)
20
Goto → block 3
Block 2
21
Constant magic optimized-out
MagicOptimizedOut
22
Constant 0x1
I[1, 1]: Int32
23
Box ← Constant#22
Value
24
Goto → block 3
Block 3
25
Phi ← Box#23, Parameter#2
Value
27
Unbox Phi#25 to Double (fallible)
Double
28
Div ← Unbox#7, Unbox#27 [double]
Double
68
Test ← Unbox#8 → block 4, block 5
1
0
Block 4 (split edge)
33
Goto → block 6
Block 5
34
Constant magic optimized-out
MagicOptimizedOut
35
Constant 0x1
I[1, 1]: Int32
36
Box ← Constant#35
Value
37
Goto → block 6
Block 6
38
Phi ← Box#36, Parameter#2
Value
40
Unbox Phi#38 to Double (fallible)
Double
41
Mod ← Unbox#7, Unbox#40 [double]
Double
70
Mul ← Unbox#7, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
72
Mul ← Unbox#8, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
50
Add ← Add#9, Sub#12 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
51
Add ← Add#50, Mul#15 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52
Add ← Add#51, Div#28 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
53
Add ← Add#52, Mod#41 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
54
Add ← Add#53, Mul#70 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
55
Add ← Add#54, Mul#72 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
73
Constant 0
I[0, 0]: Double
58
Compare ← Add#55, Constant#73 Gt
Bool
59
Test ← Compare#58 → block 7, block 8
1
0
Block 7
60
Goto → block 9
Block 8
61
Constant -1
I[-1, -1]: Double
62
Mul ← Add#55, Constant#61 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
63
Goto → block 9
Block 9
64
Phi ← Mul#62, Add#55
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
65
Box ← Phi#64
Value
66
Return ← Box#65
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
Sub ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
15
Mul ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
67
Test ← Unbox#8 → block 1, block 2
1
0
Block 1 (split edge)
20
Goto → block 3
Block 2
21
Constant magic optimized-out
MagicOptimizedOut
22
Constant 0x1
I[1, 1]: Int32
23
Box ← Constant#22
Value
24
Goto → block 3
Block 3
25
Phi ← Box#23, Parameter#2
Value
27
Unbox Phi#25 to Double (fallible)
Double
28
Div ← Unbox#7, Unbox#27 [double]
Double
68
Test ← Unbox#8 → block 4, block 5
1
0
Block 4 (split edge)
33
Goto → block 6
Block 5
34
Constant magic optimized-out
MagicOptimizedOut
35
Constant 0x1
I[1, 1]: Int32
36
Box ← Constant#35
Value
37
Goto → block 6
Block 6
38
Phi ← Box#36, Parameter#2
Value
40
Unbox Phi#38 to Double (fallible)
Double
41
Mod ← Unbox#7, Unbox#40 [double]
Double
70
Mul ← Unbox#7, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
72
Mul ← Unbox#8, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
50
Add ← Add#9, Sub#12 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
51
Add ← Add#50, Mul#15 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52
Add ← Add#51, Div#28 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
53
Add ← Add#52, Mod#41 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
54
Add ← Add#53, Mul#70 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
55
Add ← Add#54, Mul#72 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
73
Constant 0
I[0, 0]: Double
58
Compare ← Add#55, Constant#73 Gt
Bool
59
Test ← Compare#58 → block 7, block 8
1
0
Block 7
60
Goto → block 9
Block 8
61
Constant -1
I[-1, -1]: Double
62
Mul ← Add#55, Constant#61 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
63
Goto → block 9
Block 9
64
Phi ← Mul#62, Add#55
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
65
Box ← Phi#64
Value
66
Return ← Box#65
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
Sub ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
15
Mul ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
67
Test ← Unbox#8 → block 1, block 2
1
0
Block 1 (split edge)
20
Goto → block 3
Block 2
21
Constant magic optimized-out
MagicOptimizedOut
22
Constant 0x1
I[1, 1]: Int32
23
Box ← Constant#22
Value
24
Goto → block 3
Block 3
25
Phi ← Box#23, Parameter#2
Value
27
Unbox Phi#25 to Double (fallible)
Double
28
Div ← Unbox#7, Unbox#27 [double]
Double
68
Test ← Unbox#8 → block 4, block 5
1
0
Block 4 (split edge)
33
Goto → block 6
Block 5
34
Constant magic optimized-out
MagicOptimizedOut
35
Constant 0x1
I[1, 1]: Int32
36
Box ← Constant#35
Value
37
Goto → block 6
Block 6
38
Phi ← Box#36, Parameter#2
Value
40
Unbox Phi#38 to Double (fallible)
Double
41
Mod ← Unbox#7, Unbox#40 [double]
Double
70
Mul ← Unbox#7, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
72
Mul ← Unbox#8, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
50
Add ← Add#9, Sub#12 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
51
Add ← Add#50, Mul#15 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52
Add ← Add#51, Div#28 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
53
Add ← Add#52, Mod#41 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
54
Add ← Add#53, Mul#70 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
55
Add ← Add#54, Mul#72 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
73
Constant 0
I[0, 0]: Double
58
Compare ← Add#55, Constant#73 Gt
Bool
59
Test ← Compare#58 → block 7, block 8
1
0
Block 7
60
Goto → block 9
Block 8
61
Constant -1
I[-1, -1]: Double
62
Mul ← Add#55, Constant#61 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
63
Goto → block 9
Block 9
64
Phi ← Mul#62, Add#55
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
65
Box ← Phi#64
Value
66
Return ← Box#65
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
Sub ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
15
Mul ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
67
Test ← Unbox#8 → block 1, block 2
1
0
Block 1 (split edge)
20
Goto → block 3
Block 2
21
Constant magic optimized-out
MagicOptimizedOut
22
Constant 0x1
I[1, 1]: Int32
23
Box ← Constant#22
Value
24
Goto → block 3
Block 3
25
Phi ← Box#23, Parameter#2
Value
27
Unbox Phi#25 to Double (fallible)
Double
28
Div ← Unbox#7, Unbox#27 [double]
Double
68
Test ← Unbox#8 → block 4, block 5
1
0
Block 4 (split edge)
33
Goto → block 6
Block 5
34
Constant magic optimized-out
MagicOptimizedOut
35
Constant 0x1
I[1, 1]: Int32
36
Box ← Constant#35
Value
37
Goto → block 6
Block 6
38
Phi ← Box#36, Parameter#2
Value
40
Unbox Phi#38 to Double (fallible)
Double
41
Mod ← Unbox#7, Unbox#40 [double]
Double
70
Mul ← Unbox#7, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
72
Mul ← Unbox#8, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
50
Add ← Add#9, Sub#12 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
51
Add ← Add#50, Mul#15 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52
Add ← Add#51, Div#28 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
53
Add ← Add#52, Mod#41 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
54
Add ← Add#53, Mul#70 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
55
Add ← Add#54, Mul#72 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
73
Constant 0
I[0, 0]: Double
58
Compare ← Add#55, Constant#73 Gt
Bool
59
Test ← Compare#58 → block 7, block 8
1
0
Block 7
60
Goto → block 9
Block 8
61
Constant -1
I[-1, -1]: Double
62
Mul ← Add#55, Constant#61 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
63
Goto → block 9
Block 9
64
Phi ← Mul#62, Add#55
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
65
Box ← Phi#64
Value
66
Return ← Box#65
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10
Sub ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
11
Mul ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
Test ← Unbox#8 → block 1, block 2
1
0
Block 1 (split edge)
13
Goto → block 3
Block 2
14
Constant magic optimized-out
MagicOptimizedOut
15
Constant 0x1
I[1, 1]: Int32
16
Box ← Constant#15
Value
17
Goto → block 3
Block 3
18
Phi ← Box#16, Parameter#2
Value
19
Unbox Phi#18 to Double (fallible)
Double
20
Div ← Unbox#7, Unbox#19 [double]
Double
21
Test ← Unbox#8 → block 4, block 5
1
0
Block 4 (split edge)
22
Goto → block 6
Block 5
23
Constant magic optimized-out
MagicOptimizedOut
24
Constant 0x1
I[1, 1]: Int32
25
Box ← Constant#24
Value
26
Goto → block 6
Block 6
27
Phi ← Box#25, Parameter#2
Value
28
Add ← Add#9, Sub#10 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
29
Add ← Add#28, Mul#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
30
Add ← Add#29, Div#20 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
31
Mul ← Unbox#8, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
32
Unbox Phi#27 to Double (fallible)
Double
33
Mod ← Unbox#7, Unbox#32 [double]
Double
34
Add ← Add#30, Mod#33 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
35
Mul ← Unbox#7, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
36
Add ← Add#34, Mul#35 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
37
Add ← Add#36, Mul#31 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
38
Constant 0
I[0, 0]: Double
39
Compare ← Add#37, Constant#38 Gt
Bool
40
Test ← Compare#39 → block 7, block 8
1
0
Block 7
41
Goto → block 9
Block 8
42
Constant -1
I[-1, -1]: Double
43
Mul ← Add#37, Constant#42 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
44
Goto → block 9
Block 9
45
Phi ← Mul#43, Add#37
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
46
Box ← Phi#45
Value
47
Return ← Box#46
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10
Sub ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
11
Mul ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
Test ← Unbox#8 → block 1, block 2
1
0
Block 1 (split edge)
13
Goto → block 3
Block 2
14
Constant magic optimized-out
MagicOptimizedOut
15
Constant 0x1
I[1, 1]: Int32
16
Box ← Constant#15
Value
17
Goto → block 3
Block 3
18
Phi ← Box#16, Parameter#2
Value
19
Unbox Phi#18 to Double (fallible)
Double
20
Div ← Unbox#7, Unbox#19 [double]
Double
21
Test ← Unbox#8 → block 4, block 5
1
0
Block 4 (split edge)
22
Goto → block 6
Block 5
23
Constant magic optimized-out
MagicOptimizedOut
24
Constant 0x1
I[1, 1]: Int32
25
Box ← Constant#24
Value
26
Goto → block 6
Block 6
27
Phi ← Box#25, Parameter#2
Value
28
Add ← Add#9, Sub#10 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
29
Add ← Add#28, Mul#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
30
Add ← Add#29, Div#20 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
31
Mul ← Unbox#8, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
32
Unbox Phi#27 to Double (fallible)
Double
33
Mod ← Unbox#7, Unbox#32 [double]
Double
34
Add ← Add#30, Mod#33 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
35
Mul ← Unbox#7, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
36
Add ← Add#34, Mul#35 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
37
Add ← Add#36, Mul#31 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
38
Constant 0
I[0, 0]: Double
39
Compare ← Add#37, Constant#38 Gt
Bool
40
Test ← Compare#39 → block 7, block 8
1
0
Block 7
41
Goto → block 9
Block 8
42
Constant -1
I[-1, -1]: Double
43
Mul ← Add#37, Constant#42 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
44
Goto → block 9
Block 9
45
Phi ← Mul#43, Add#37
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
46
Box ← Phi#45
Value
47
Return ← Box#46
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10
Sub ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
11
Mul ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
Test ← Unbox#8 → block 1, block 2
1
0
Block 1 (split edge)
13
Goto → block 3
Block 2
14
Constant magic optimized-out
MagicOptimizedOut
15
Constant 0x1
I[1, 1]: Int32
16
Box ← Constant#15
Value
17
Goto → block 3
Block 3
18
Phi ← Box#16, Parameter#2
Value
19
Unbox Phi#18 to Double (fallible)
Double
20
Div ← Unbox#7, Unbox#19 [double]
Double
21
Test ← Unbox#8 → block 4, block 5
1
0
Block 4 (split edge)
22
Goto → block 6
Block 5
23
Constant magic optimized-out
MagicOptimizedOut
24
Constant 0x1
I[1, 1]: Int32
25
Box ← Constant#24
Value
26
Goto → block 6
Block 6
27
Phi ← Box#25, Parameter#2
Value
28
Add ← Add#9, Sub#10 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
29
Add ← Add#28, Mul#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
30
Add ← Add#29, Div#20 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
31
Mul ← Unbox#8, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
32
Unbox Phi#27 to Double (fallible)
Double
33
Mod ← Unbox#7, Unbox#32 [double]
Double
34
Add ← Add#30, Mod#33 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
35
Mul ← Unbox#7, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
36
Add ← Add#34, Mul#35 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
37
Add ← Add#36, Mul#31 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
38
Constant 0
I[0, 0]: Double
39
Compare ← Add#37, Constant#38 Gt
Bool
40
Test ← Compare#39 → block 7, block 8
1
0
Block 7
41
Goto → block 9
Block 8
42
Constant -1
I[-1, -1]: Double
43
Mul ← Add#37, Constant#42 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
44
Goto → block 9
Block 9
45
Phi ← Mul#43, Add#37
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
46
Box ← Phi#45
Value
47
Return ← Box#46
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10
Sub ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
11
Mul ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
Test ← Unbox#8 → block 1, block 2
1
0
Block 1 (split edge)
13
Goto → block 3
Block 2
14
Constant magic optimized-out
MagicOptimizedOut
15
Constant 0x1
I[1, 1]: Int32
16
Box ← Constant#15
Value
17
Goto → block 3
Block 3
18
Phi ← Box#16, Parameter#2
Value
19
Unbox Phi#18 to Double (fallible)
Double
20
Div ← Unbox#7, Unbox#19 [double]
Double
21
Test ← Unbox#8 → block 4, block 5
1
0
Block 4 (split edge)
22
Goto → block 6
Block 5
23
Constant magic optimized-out
MagicOptimizedOut
24
Constant 0x1
I[1, 1]: Int32
25
Box ← Constant#24
Value
26
Goto → block 6
Block 6
27
Phi ← Box#25, Parameter#2
Value
28
Add ← Add#9, Sub#10 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
29
Add ← Add#28, Mul#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
30
Add ← Add#29, Div#20 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
31
Mul ← Unbox#8, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
32
Unbox Phi#27 to Double (fallible)
Double
33
Mod ← Unbox#7, Unbox#32 [double]
Double
34
Add ← Add#30, Mod#33 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
35
Mul ← Unbox#7, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
36
Add ← Add#34, Mul#35 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
37
Add ← Add#36, Mul#31 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
38
Constant 0
I[0, 0]: Double
39
Compare ← Add#37, Constant#38 Gt
Bool
40
Test ← Compare#39 → block 7, block 8
1
0
Block 7
41
Goto → block 9
Block 8
42
Constant -1
I[-1, -1]: Double
43
Mul ← Add#37, Constant#42 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
44
Goto → block 9
Block 9
45
Phi ← Mul#43, Add#37
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
46
Box ← Phi#45
Value
47
Return ← Box#46
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10
Sub ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
11
Mul ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
Test ← Unbox#8 → block 1, block 2
1
0
Block 1 (split edge)
13
Goto → block 3
Block 2
14
Constant magic optimized-out
MagicOptimizedOut
15
Constant 0x1
I[1, 1]: Int32
16
Box ← Constant#15
Value
17
Goto → block 3
Block 3
18
Phi ← Box#16, Parameter#2
Value
19
Unbox Phi#18 to Double (fallible)
Double
20
Div ← Unbox#7, Unbox#19 [double]
Double
21
Test ← Unbox#8 → block 4, block 5
1
0
Block 4 (split edge)
22
Goto → block 6
Block 5
23
Constant magic optimized-out
MagicOptimizedOut
24
Constant 0x1
I[1, 1]: Int32
25
Box ← Constant#24
Value
26
Goto → block 6
Block 6
27
Phi ← Box#25, Parameter#2
Value
28
Add ← Add#9, Sub#10 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
29
Add ← Add#28, Mul#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
30
Add ← Add#29, Div#20 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
31
Mul ← Unbox#8, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
32
Unbox Phi#27 to Double (fallible)
Double
33
Mod ← Unbox#7, Unbox#32 [double]
Double
34
Add ← Add#30, Mod#33 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
35
Mul ← Unbox#7, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
36
Add ← Add#34, Mul#35 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
37
Add ← Add#36, Mul#31 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
38
Constant 0
I[0, 0]: Double
39
Compare ← Add#37, Constant#38 Gt
Bool
40
Test ← Compare#39 → block 7, block 8
1
0
Block 7
41
Goto → block 9
Block 8
42
Constant -1
I[-1, -1]: Double
43
Mul ← Add#37, Constant#42 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
44
Goto → block 9
Block 9
45
Phi ← Mul#43, Add#37
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
46
Box ← Phi#45
Value
47
Return ← Box#46
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10
Sub ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
11
Mul ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
Test ← Unbox#8 → block 1, block 2
1
0
Block 1 (split edge)
13
Goto → block 3
Block 2
14
Constant magic optimized-out
MagicOptimizedOut
15
Constant 0x1
I[1, 1]: Int32
16
Box ← Constant#15
Value
17
Goto → block 3
Block 3
18
Phi ← Box#16, Parameter#2
Value
19
Unbox Phi#18 to Double (fallible)
Double
20
Div ← Unbox#7, Unbox#19 [double]
Double
21
Test ← Unbox#8 → block 4, block 5
1
0
Block 4 (split edge)
22
Goto → block 6
Block 5
23
Constant magic optimized-out
MagicOptimizedOut
24
Constant 0x1
I[1, 1]: Int32
25
Box ← Constant#24
Value
26
Goto → block 6
Block 6
27
Phi ← Box#25, Parameter#2
Value
28
Add ← Add#9, Sub#10 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
29
Add ← Add#28, Mul#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
30
Add ← Add#29, Div#20 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
31
Mul ← Unbox#8, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
32
Unbox Phi#27 to Double (fallible)
Double
33
Mod ← Unbox#7, Unbox#32 [double]
Double
34
Add ← Add#30, Mod#33 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
35
Mul ← Unbox#7, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
36
Add ← Add#34, Mul#35 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
37
Add ← Add#36, Mul#31 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
38
Constant 0
I[0, 0]: Double
39
Compare ← Add#37, Constant#38 Gt
Bool
40
Test ← Compare#39 → block 7, block 8
1
0
Block 7
41
Goto → block 9
Block 8
42
Constant -1
I[-1, -1]: Double
43
Mul ← Add#37, Constant#42 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
44
Goto → block 9
Block 9
45
Phi ← Mul#43, Add#37
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
46
Box ← Phi#45
Value
47
Return ← Box#46
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10
Sub ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
11
Mul ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
Test ← Unbox#8 → block 1, block 2
1
0
Block 1 (split edge)
13
Goto → block 3
Block 2
14
Constant magic optimized-out
MagicOptimizedOut
15
Constant 0x1
I[1, 1]: Int32
16
Box ← Constant#15
Value
17
Goto → block 3
Block 3
18
Phi ← Box#16, Parameter#2
Value
19
Unbox Phi#18 to Double (fallible)
Double
20
Div ← Unbox#7, Unbox#19 [double]
Double
21
Test ← Unbox#8 → block 4, block 5
1
0
Block 4 (split edge)
22
Goto → block 6
Block 5
23
Constant magic optimized-out
MagicOptimizedOut
24
Constant 0x1
I[1, 1]: Int32
25
Box ← Constant#24
Value
26
Goto → block 6
Block 6
27
Phi ← Box#25, Parameter#2
Value
28
Add ← Add#9, Sub#10 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
29
Add ← Add#28, Mul#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
30
Add ← Add#29, Div#20 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
31
Mul ← Unbox#8, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
32
Unbox Phi#27 to Double (fallible)
Double
33
Mod ← Unbox#7, Unbox#32 [double]
Double
34
Add ← Add#30, Mod#33 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
35
Mul ← Unbox#7, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
36
Add ← Add#34, Mul#35 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
37
Add ← Add#36, Mul#31 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
38
Constant 0
I[0, 0]: Double
39
Compare ← Add#37, Constant#38 Gt
Bool
40
Test ← Compare#39 → block 7, block 8
1
0
Block 7
41
Goto → block 9
Block 8
42
Constant -1
I[-1, -1]: Double
43
Mul ← Add#37, Constant#42 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
44
Goto → block 9
Block 9
45
Phi ← Mul#43, Add#37
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
46
Box ← Phi#45
Value
47
Return ← Box#46
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10
Sub ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
11
Mul ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
Test ← Unbox#8 → block 1, block 2
1
0
Block 1 (split edge)
13
Goto → block 3
Block 2
14
Constant magic optimized-out
MagicOptimizedOut
15
Constant 0x1
I[1, 1]: Int32
16
Box ← Constant#15
Value
17
Goto → block 3
Block 3
18
Phi ← Box#16, Parameter#2
Value
19
Unbox Phi#18 to Double (fallible)
Double
20
Div ← Unbox#7, Unbox#19 [double]
Double
21
Test ← Unbox#8 → block 4, block 5
1
0
Block 4 (split edge)
22
Goto → block 6
Block 5
23
Constant magic optimized-out
MagicOptimizedOut
24
Constant 0x1
I[1, 1]: Int32
25
Box ← Constant#24
Value
26
Goto → block 6
Block 6
27
Phi ← Box#25, Parameter#2
Value
28
Add ← Add#9, Sub#10 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
29
Add ← Add#28, Mul#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
30
Add ← Add#29, Div#20 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
31
Mul ← Unbox#8, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
32
Unbox Phi#27 to Double (fallible)
Double
33
Mod ← Unbox#7, Unbox#32 [double]
Double
34
Add ← Add#30, Mod#33 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
35
Mul ← Unbox#7, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
36
Add ← Add#34, Mul#35 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
37
Add ← Add#36, Mul#31 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
38
Constant 0
I[0, 0]: Double
39
Compare ← Add#37, Constant#38 Gt
Bool
40
Test ← Compare#39 → block 7, block 8
1
0
Block 7
41
Goto → block 9
Block 8
42
Constant -1
I[-1, -1]: Double
43
Mul ← Add#37, Constant#42 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
44
Goto → block 9
Block 9
45
Phi ← Mul#43, Add#37
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
46
Box ← Phi#45
Value
47
Return ← Box#46
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10
Sub ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
11
Mul ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
Test ← Unbox#8 → block 1, block 2
1
0
Block 1 (split edge)
13
Goto → block 3
Block 2
14
Constant magic optimized-out
MagicOptimizedOut
15
Constant 0x1
I[1, 1]: Int32
16
Box ← Constant#15
Value
17
Goto → block 3
Block 3
18
Phi ← Box#16, Parameter#2
Value
19
Unbox Phi#18 to Double (fallible)
Double
20
Div ← Unbox#7, Unbox#19 [double]
Double
21
Test ← Unbox#8 → block 4, block 5
1
0
Block 4 (split edge)
22
Goto → block 6
Block 5
23
Constant magic optimized-out
MagicOptimizedOut
24
Constant 0x1
I[1, 1]: Int32
25
Box ← Constant#24
Value
26
Goto → block 6
Block 6
27
Phi ← Box#25, Parameter#2
Value
28
Add ← Add#9, Sub#10 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
29
Add ← Add#28, Mul#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
30
Add ← Add#29, Div#20 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
31
Mul ← Unbox#8, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
32
Unbox Phi#27 to Double (fallible)
Double
33
Mod ← Unbox#7, Unbox#32 [double]
Double
34
Add ← Add#30, Mod#33 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
35
Mul ← Unbox#7, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
36
Add ← Add#34, Mul#35 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
37
Add ← Add#36, Mul#31 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
38
Constant 0
I[0, 0]: Double
39
Compare ← Add#37, Constant#38 Gt
Bool
40
Test ← Compare#39 → block 7, block 8
1
0
Block 7
41
Goto → block 9
Block 8
42
Constant -1
I[-1, -1]: Double
43
Mul ← Add#37, Constant#42 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
44
Goto → block 9
Block 9
45
Phi ← Mul#43, Add#37
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
46
Box ← Phi#45
Value
47
Return ← Box#46
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Parameter 1
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Unbox Parameter#1 to Double (fallible)
Double
8
Unbox Parameter#2 to Double (fallible)
Double
9
Add ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10
Sub ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
11
Mul ← Unbox#7, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12
Test ← Unbox#8 → block 1, block 2
1
0
Block 1 (split edge)
13
Goto → block 3
Block 2
14
Constant magic optimized-out
MagicOptimizedOut
15
Constant 0x1
I[1, 1]: Int32
16
Box ← Constant#15
Value
17
Goto → block 3
Block 3
18
Phi ← Box#16, Parameter#2
Value
19
Unbox Phi#18 to Double (fallible)
Double
20
Div ← Unbox#7, Unbox#19 [double]
Double
21
Test ← Unbox#8 → block 4, block 5
1
0
Block 4 (split edge)
22
Goto → block 6
Block 5
23
Constant magic optimized-out
MagicOptimizedOut
24
Constant 0x1
I[1, 1]: Int32
25
Box ← Constant#24
Value
26
Goto → block 6
Block 6
27
Phi ← Box#25, Parameter#2
Value
28
Add ← Add#9, Sub#10 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
29
Add ← Add#28, Mul#11 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
30
Add ← Add#29, Div#20 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
31
Mul ← Unbox#8, Unbox#8 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
32
Unbox Phi#27 to Double (fallible)
Double
33
Mod ← Unbox#7, Unbox#32 [double]
Double
34
Add ← Add#30, Mod#33 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
35
Mul ← Unbox#7, Unbox#7 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
36
Add ← Add#34, Mul#35 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
37
Add ← Add#36, Mul#31 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
38
Constant 0
I[0, 0]: Double
39
Compare ← Add#37, Constant#38 Gt
Bool
40
Test ← Compare#39 → block 7, block 8
1
0
Block 7
41
Goto → block 9
Block 8
42
Constant -1
I[-1, -1]: Double
43
Mul ← Add#37, Constant#42 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
44
Goto → block 9
Block 9
45
Phi ← Mul#43, Add#37
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
46
Box ← Phi#45
Value
47
Return ← Box#46
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5
11
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
12
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
13
PostWriteBarrier ← NewCallObject#8, Parameter#1
14
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
15
Constant object 104289c3f040 (LexicalEnvironment)
Object
16
Constant object 104289c3e030 (global)
Object
17
Constant function Object at 104289c422e0
Object
18
Constant function Object at 104289c422e0
Object
19
GuardObjectIdentity ← Constant#17, Constant#18
Object
20
Constant function keys at 104289c42468
Object
21
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
22
Constant 0x1
Int32
23
Constant function keys at 104289c42468
Object
24
GuardSpecificFunction ← Constant#20, Constant#23
Object
25
Unbox LoadFixedSlot#21 to Object (fallible)
Object
26
GuardIsNotProxy ← Unbox#25
Object
27
ObjectKeys ← GuardIsNotProxy#26
Object
28
GuardShape ← ObjectKeys#27
Object
29
Constant object 104289c3e088 (Array)
Object
30
Constant function map (self-hosted:163) at 104289c47920
Object
31
Constant function complex5/< (-e:22) at 104289c63e08
Object
32
Lambda ← NewCallObject#8, Constant#31
Object
33
Constant 0x1
Int32
34
Constant function map (self-hosted:163) at 104289c47920
Object
35
GuardSpecificFunction ← Constant#30, Constant#34
Object
36
Goto → block 1
Block 1
37
Constant undefined
Undefined
38
Constant function ToObject at 104289c6c740
Object
39
DebugCheckSelfHosted ← Constant#38
Value
40
Constant undefined
Undefined
41
Constant 0x1
Int32
42
Constant function ToLength at 104289c6c778
Object
43
DebugCheckSelfHosted ← Constant#42
Value
44
Constant undefined
Undefined
45
GuardShape ← ObjectKeys#27
Object
46
Elements ← GuardShape#45
Elements
47
ArrayLength ← Elements#46
Int32
48
Constant 0x1
Int32
49
Constant 0x0
Int32
50
MinMax ← ArrayLength#47, Constant#49 (max)
Int32
51
Constant 0x1
Int32
52
Constant 0x0
Int32
53
Compare ← Constant#51, Constant#52 StrictEq
Bool
54
Test ← Compare#53 → block 2, block 3
1
0
Block 2
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x37
Int32
59
Constant 0x0
Int32
60
Constant string 104289c2e080
String
61
Bail
62
UnreachableResult
Value
63
Goto → block 3
Block 3
64
Constant function IsCallable at 104289c6c7b0
Object
65
DebugCheckSelfHosted ← Constant#64
Value
66
Constant undefined
Undefined
67
Constant 0x1
Int32
68
IsCallable ← Lambda#32
Bool
69
Test ← IsCallable#68 → block 5, block 4
1
0
Block 4
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0xc
Int32
74
CallGetIntrinsicValue
Value
75
DebugCheckSelfHosted ← CallGetIntrinsicValue#74
Value
76
Constant undefined
Undefined
77
Constant 0x0
Int32
78
Bail
79
UnreachableResult
Value
80
Bail
81
UnreachableResult
Value
82
Goto → block 5
Block 5
83
Constant 0x1
Int32
84
Constant 0x1
Int32
85
Compare ← Constant#83, Constant#84 Gt
Bool
86
Test ← Compare#85 → block 6, block 7
1
0
Block 6
87
Constant 0x1
Int32
88
GetInlinedArgument ← Constant#87, Lambda#32
Value
89
Goto → block 8
Block 7
90
Constant undefined
Undefined
91
Goto → block 8
Block 8
92
Phi ← Constant#90, GetInlinedArgument#88
Value
93
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
94
DebugCheckSelfHosted ← Constant#93
Value
95
Constant undefined
Undefined
96
Constant 0x1
Int32
97
HasShape ← ObjectKeys#27
Bool
98
Test ← HasShape#97 → block 9, block 10
1
0
Block 9
99
Constant function std_Array at 104289c6c820
Object
100
DebugCheckSelfHosted ← Constant#99
Value
101
Constant undefined
Undefined
102
Constant 0x1
Int32
103
Unbox DebugCheckSelfHosted#100 to Object (fallible)
Object
104
Constant function std_Array at 104289c6c820
Object
105
GuardSpecificFunction ← Unbox#103, Constant#104
Object
106
NewArrayDynamicLength ← MinMax#50
Object
107
Goto → block 11
Block 10
108
CallGetIntrinsicValue
Value
109
DebugCheckSelfHosted ← CallGetIntrinsicValue#108
Value
110
Constant undefined
Undefined
111
Bail
112
UnreachableResult
Value
113
Goto → block 11
Block 11
114
Phi ← UnreachableResult#112, NewArrayDynamicLength#106
Value
115
Constant 0x0
Int32
127
Goto → block 12
Block 12 (loop header)
116
Phi ← Constant#37, Constant#37
Value
117
Phi ← Constant#37, Constant#37
Value
118
Phi ← ObjectKeys#27, ObjectKeys#27
Value
119
Phi ← Lambda#32, Lambda#32
Value
120
Phi ← ObjectKeys#27, ObjectKeys#27
Value
121
Phi ← MinMax#50, MinMax#50
Value
122
Phi ← Phi#92, Phi#92
Value
123
Phi ← Phi#114, Phi#114
Value
124
Phi ← Constant#115, Add#173
Value
125
Phi ← Constant#37, Phi#170
Value
126
Phi ← ObjectKeys#27, ObjectKeys#27
Value
128
InterruptCheck
129
Unbox Phi#124 to Int32 (fallible)
Int32
130
Unbox Phi#121 to Int32 (fallible)
Int32
131
Compare ← Unbox#129, Unbox#130 Lt
Bool
132
Test ← Compare#131 → block 13, block 18
1
0
Block 13
133
Unbox Phi#120 to Object (fallible)
Object
134
Unbox Phi#124 to Int32 (fallible)
Int32
135
GuardShape ← Unbox#133
Object
136
Elements ← GuardShape#135
Elements
137
InitializedLength ← Elements#136
Int32
138
BoundsCheck ← Unbox#134, InitializedLength#137
Int32
139
SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137
Int32
140
GuardElementNotHole ← Elements#136, SpectreMaskIndex#139
141
Constant true
Bool
142
Test ← Constant#141 → block 14, block 17
1
0
Block 14
143
Unbox Phi#120 to Object (fallible)
Object
144
Unbox Phi#124 to Int32 (fallible)
Int32
145
GuardShape ← Unbox#143
Object
146
Elements ← GuardShape#145
Elements
147
InitializedLength ← Elements#146
Int32
148
BoundsCheck ← Unbox#144, InitializedLength#147
Int32
149
SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147
Int32
150
GuardElementsArePacked ← Elements#146
151
LoadElement ← Elements#146, SpectreMaskIndex#149
Value
152
Constant 0x3
Int32
153
Unbox Phi#119 to Object (fallible)
Object
154
GuardToFunction ← Unbox#153
Object
155
GuardFunctionScript ← GuardToFunction#154
Object
156
Goto → block 15
Block 15
157
Constant undefined
Undefined
158
FunctionEnvironment ← GuardFunctionScript#155
Object
159
LoadFixedSlot ← FunctionEnvironment#158 (slot 2)
Value
160
Unbox LoadFixedSlot#159 to Object (fallible)
Object
161
MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151
Value
163
Goto → block 16
Block 16
164
Unbox Phi#123 to Object (fallible)
Object
165
Unbox Phi#124 to Int32 (fallible)
Int32
166
GuardShape ← Unbox#164
Object
167
Elements ← GuardShape#166
Elements
168
StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161
169
Goto → block 17
Block 17 (backedge)
170
Phi ← MegamorphicLoadSlotByValue#161, Phi#125
Value
171
Unbox Phi#124 to Int32 (fallible)
Int32
172
Constant 0x1
Int32
173
Add ← Unbox#171, Constant#172 [int32]
Int32
174
Goto → block 12
Block 18
176
Goto → block 19
Block 19
177
Unbox Phi#123 to Object (fallible)
Object
178
GuardShape ← Unbox#177
Object
179
Constant object 104289c3e088 (Array)
Object
180
Constant function reduce (self-hosted:205) at 104289c479c0
Object
181
Constant function complex5/< (-e:22) at 104289c63e40
Object
182
Lambda ← NewCallObject#8, Constant#181
Object
183
Constant 0x0
Int32
184
Constant 0x2
Int32
185
Constant function reduce (self-hosted:205) at 104289c479c0
Object
186
GuardSpecificFunction ← Constant#180, Constant#185
Object
187
Call ← GuardSpecificFunction#186, Phi#123, Lambda#182, Constant#183
Value
188
Return ← Call#187
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5
11
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
12
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
13
PostWriteBarrier ← NewCallObject#8, Parameter#1
14
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
15
Constant object 104289c3f040 (LexicalEnvironment)
Object
16
Constant object 104289c3e030 (global)
Object
17
Constant function Object at 104289c422e0
Object
18
Constant function Object at 104289c422e0
Object
19
GuardObjectIdentity ← Constant#17, Constant#18
Object
20
Constant function keys at 104289c42468
Object
21
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
22
Constant 0x1
Int32
23
Constant function keys at 104289c42468
Object
24
GuardSpecificFunction ← Constant#20, Constant#23
Object
25
Unbox LoadFixedSlot#21 to Object (fallible)
Object
26
GuardIsNotProxy ← Unbox#25
Object
27
ObjectKeys ← GuardIsNotProxy#26
Object
28
GuardShape ← ObjectKeys#27
Object
29
Constant object 104289c3e088 (Array)
Object
30
Constant function map (self-hosted:163) at 104289c47920
Object
31
Constant function complex5/< (-e:22) at 104289c63e08
Object
32
Lambda ← NewCallObject#8, Constant#31
Object
33
Constant 0x1
Int32
34
Constant function map (self-hosted:163) at 104289c47920
Object
35
GuardSpecificFunction ← Constant#30, Constant#34
Object
36
Goto → block 1
Block 1
37
Constant undefined
Undefined
38
Constant function ToObject at 104289c6c740
Object
39
DebugCheckSelfHosted ← Constant#38
Value
40
Constant undefined
Undefined
41
Constant 0x1
Int32
42
Constant function ToLength at 104289c6c778
Object
43
DebugCheckSelfHosted ← Constant#42
Value
44
Constant undefined
Undefined
45
GuardShape ← ObjectKeys#27
Object
46
Elements ← GuardShape#45
Elements
47
ArrayLength ← Elements#46
Int32
48
Constant 0x1
Int32
49
Constant 0x0
Int32
50
MinMax ← ArrayLength#47, Constant#49 (max)
Int32
51
Constant 0x1
Int32
52
Constant 0x0
Int32
53
Compare ← Constant#51, Constant#52 StrictEq
Bool
54
Test ← Compare#53 → block 2, block 3
1
0
Block 2
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x37
Int32
59
Constant 0x0
Int32
60
Constant string 104289c2e080
String
61
Bail
191
Unreachable
Block 3
64
Constant function IsCallable at 104289c6c7b0
Object
65
DebugCheckSelfHosted ← Constant#64
Value
66
Constant undefined
Undefined
67
Constant 0x1
Int32
68
IsCallable ← Lambda#32
Bool
69
Test ← IsCallable#68 → block 5, block 4
1
0
Block 4
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0xc
Int32
74
CallGetIntrinsicValue
Value
75
DebugCheckSelfHosted ← CallGetIntrinsicValue#74
Value
76
Constant undefined
Undefined
77
Constant 0x0
Int32
78
Bail
190
Unreachable
Block 5
83
Constant 0x1
Int32
84
Constant 0x1
Int32
85
Compare ← Constant#83, Constant#84 Gt
Bool
86
Test ← Compare#85 → block 6, block 7
1
0
Block 6
87
Constant 0x1
Int32
88
GetInlinedArgument ← Constant#87, Lambda#32
Value
89
Goto → block 8
Block 7
90
Constant undefined
Undefined
91
Goto → block 8
Block 8
92
Phi ← Constant#90, GetInlinedArgument#88
Value
93
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
94
DebugCheckSelfHosted ← Constant#93
Value
95
Constant undefined
Undefined
96
Constant 0x1
Int32
97
HasShape ← ObjectKeys#27
Bool
98
Test ← HasShape#97 → block 9, block 10
1
0
Block 9
99
Constant function std_Array at 104289c6c820
Object
100
DebugCheckSelfHosted ← Constant#99
Value
101
Constant undefined
Undefined
102
Constant 0x1
Int32
103
Unbox DebugCheckSelfHosted#100 to Object (fallible)
Object
104
Constant function std_Array at 104289c6c820
Object
105
GuardSpecificFunction ← Unbox#103, Constant#104
Object
106
NewArrayDynamicLength ← MinMax#50
Object
107
Goto → block 11
Block 10
108
CallGetIntrinsicValue
Value
109
DebugCheckSelfHosted ← CallGetIntrinsicValue#108
Value
110
Constant undefined
Undefined
111
Bail
189
Unreachable
Block 11
114
Phi ← NewArrayDynamicLength#106
Value
115
Constant 0x0
Int32
127
Goto → block 12
Block 12 (loop header)
116
Phi ← Constant#37, Constant#37
Value
117
Phi ← Constant#37, Constant#37
Value
118
Phi ← ObjectKeys#27, ObjectKeys#27
Value
119
Phi ← Lambda#32, Lambda#32
Value
120
Phi ← ObjectKeys#27, ObjectKeys#27
Value
121
Phi ← MinMax#50, MinMax#50
Value
122
Phi ← Phi#92, Phi#92
Value
123
Phi ← Phi#114, Phi#114
Value
124
Phi ← Constant#115, Add#173
Value
125
Phi ← Constant#37, Phi#170
Value
126
Phi ← ObjectKeys#27, ObjectKeys#27
Value
128
InterruptCheck
129
Unbox Phi#124 to Int32 (fallible)
Int32
130
Unbox Phi#121 to Int32 (fallible)
Int32
131
Compare ← Unbox#129, Unbox#130 Lt
Bool
132
Test ← Compare#131 → block 13, block 18
1
0
Block 13
133
Unbox Phi#120 to Object (fallible)
Object
134
Unbox Phi#124 to Int32 (fallible)
Int32
135
GuardShape ← Unbox#133
Object
136
Elements ← GuardShape#135
Elements
137
InitializedLength ← Elements#136
Int32
138
BoundsCheck ← Unbox#134, InitializedLength#137
Int32
139
SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137
Int32
140
GuardElementNotHole ← Elements#136, SpectreMaskIndex#139
141
Constant true
Bool
142
Test ← Constant#141 → block 14, block 17
1
0
Block 14
143
Unbox Phi#120 to Object (fallible)
Object
144
Unbox Phi#124 to Int32 (fallible)
Int32
145
GuardShape ← Unbox#143
Object
146
Elements ← GuardShape#145
Elements
147
InitializedLength ← Elements#146
Int32
148
BoundsCheck ← Unbox#144, InitializedLength#147
Int32
149
SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147
Int32
150
GuardElementsArePacked ← Elements#146
151
LoadElement ← Elements#146, SpectreMaskIndex#149
Value
152
Constant 0x3
Int32
153
Unbox Phi#119 to Object (fallible)
Object
154
GuardToFunction ← Unbox#153
Object
155
GuardFunctionScript ← GuardToFunction#154
Object
156
Goto → block 15
Block 15
157
Constant undefined
Undefined
158
FunctionEnvironment ← GuardFunctionScript#155
Object
159
LoadFixedSlot ← FunctionEnvironment#158 (slot 2)
Value
160
Unbox LoadFixedSlot#159 to Object (fallible)
Object
161
MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151
Value
163
Goto → block 16
Block 16
164
Unbox Phi#123 to Object (fallible)
Object
165
Unbox Phi#124 to Int32 (fallible)
Int32
166
GuardShape ← Unbox#164
Object
167
Elements ← GuardShape#166
Elements
168
StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161
169
Goto → block 17
Block 17 (backedge)
170
Phi ← MegamorphicLoadSlotByValue#161, Phi#125
Value
171
Unbox Phi#124 to Int32 (fallible)
Int32
172
Constant 0x1
Int32
173
Add ← Unbox#171, Constant#172 [int32]
Int32
174
Goto → block 12
Block 18
176
Goto → block 19
Block 19
177
Unbox Phi#123 to Object (fallible)
Object
178
GuardShape ← Unbox#177
Object
179
Constant object 104289c3e088 (Array)
Object
180
Constant function reduce (self-hosted:205) at 104289c479c0
Object
181
Constant function complex5/< (-e:22) at 104289c63e40
Object
182
Lambda ← NewCallObject#8, Constant#181
Object
183
Constant 0x0
Int32
184
Constant 0x2
Int32
185
Constant function reduce (self-hosted:205) at 104289c479c0
Object
186
GuardSpecificFunction ← Constant#180, Constant#185
Object
187
Call ← GuardSpecificFunction#186, Phi#123, Lambda#182, Constant#183
Value
188
Return ← Call#187
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5
11
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
12
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
13
PostWriteBarrier ← NewCallObject#8, Parameter#1
14
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
15
Constant object 104289c3f040 (LexicalEnvironment)
Object
16
Constant object 104289c3e030 (global)
Object
17
Constant function Object at 104289c422e0
Object
18
Constant function Object at 104289c422e0
Object
19
GuardObjectIdentity ← Constant#17, Constant#18
Object
20
Constant function keys at 104289c42468
Object
21
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
22
Constant 0x1
Int32
23
Constant function keys at 104289c42468
Object
24
GuardSpecificFunction ← Constant#20, Constant#23
Object
25
Unbox LoadFixedSlot#21 to Object (fallible)
Object
26
GuardIsNotProxy ← Unbox#25
Object
27
ObjectKeys ← GuardIsNotProxy#26
Object
28
GuardShape ← ObjectKeys#27
Object
29
Constant object 104289c3e088 (Array)
Object
30
Constant function map (self-hosted:163) at 104289c47920
Object
31
Constant function complex5/< (-e:22) at 104289c63e08
Object
32
Lambda ← NewCallObject#8, Constant#31
Object
33
Constant 0x1
Int32
34
Constant function map (self-hosted:163) at 104289c47920
Object
35
GuardSpecificFunction ← Constant#30, Constant#34
Object
36
Goto → block 1
Block 1
37
Constant undefined
Undefined
38
Constant function ToObject at 104289c6c740
Object
39
DebugCheckSelfHosted ← Constant#38
Value
40
Constant undefined
Undefined
41
Constant 0x1
Int32
42
Constant function ToLength at 104289c6c778
Object
43
DebugCheckSelfHosted ← Constant#42
Value
44
Constant undefined
Undefined
45
GuardShape ← ObjectKeys#27
Object
46
Elements ← GuardShape#45
Elements
47
ArrayLength ← Elements#46
Int32
48
Constant 0x1
Int32
49
Constant 0x0
Int32
50
MinMax ← ArrayLength#47, Constant#49 (max)
Int32
51
Constant 0x1
Int32
52
Constant 0x0
Int32
53
Compare ← Constant#51, Constant#52 StrictEq
Bool
54
Test ← Compare#53 → block 2, block 3
1
0
Block 2
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x37
Int32
59
Constant 0x0
Int32
60
Constant string 104289c2e080
String
61
Bail
191
Unreachable
Block 3
64
Constant function IsCallable at 104289c6c7b0
Object
65
DebugCheckSelfHosted ← Constant#64
Value
66
Constant undefined
Undefined
67
Constant 0x1
Int32
68
IsCallable ← Lambda#32
Bool
69
Test ← IsCallable#68 → block 5, block 4
1
0
Block 4
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0xc
Int32
74
CallGetIntrinsicValue
Value
75
DebugCheckSelfHosted ← CallGetIntrinsicValue#74
Value
76
Constant undefined
Undefined
77
Constant 0x0
Int32
78
Bail
190
Unreachable
Block 5
83
Constant 0x1
Int32
84
Constant 0x1
Int32
85
Compare ← Constant#83, Constant#84 Gt
Bool
86
Test ← Compare#85 → block 6, block 7
1
0
Block 6
87
Constant 0x1
Int32
88
GetInlinedArgument ← Constant#87, Lambda#32
Value
89
Goto → block 8
Block 7
90
Constant undefined
Undefined
91
Goto → block 8
Block 8
92
Phi ← Constant#90, GetInlinedArgument#88
Value
93
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
94
DebugCheckSelfHosted ← Constant#93
Value
95
Constant undefined
Undefined
96
Constant 0x1
Int32
97
HasShape ← ObjectKeys#27
Bool
98
Test ← HasShape#97 → block 9, block 10
1
0
Block 9
99
Constant function std_Array at 104289c6c820
Object
100
DebugCheckSelfHosted ← Constant#99
Value
101
Constant undefined
Undefined
102
Constant 0x1
Int32
103
Unbox DebugCheckSelfHosted#100 to Object (fallible)
Object
104
Constant function std_Array at 104289c6c820
Object
105
GuardSpecificFunction ← Unbox#103, Constant#104
Object
106
NewArrayDynamicLength ← MinMax#50
Object
107
Goto → block 11
Block 10
108
CallGetIntrinsicValue
Value
109
DebugCheckSelfHosted ← CallGetIntrinsicValue#108
Value
110
Constant undefined
Undefined
111
Bail
189
Unreachable
Block 11
114
Phi ← NewArrayDynamicLength#106
Value
115
Constant 0x0
Int32
127
Goto → block 12
Block 12 (loop header)
116
Phi ← Constant#37, Constant#37
Value
117
Phi ← Constant#37, Constant#37
Value
118
Phi ← ObjectKeys#27, ObjectKeys#27
Value
119
Phi ← Lambda#32, Lambda#32
Value
120
Phi ← ObjectKeys#27, ObjectKeys#27
Value
121
Phi ← MinMax#50, MinMax#50
Value
122
Phi ← Phi#92, Phi#92
Value
123
Phi ← Phi#114, Phi#114
Value
124
Phi ← Constant#115, Add#173
Value
125
Phi ← Constant#37, Phi#170
Value
126
Phi ← ObjectKeys#27, ObjectKeys#27
Value
128
InterruptCheck
129
Unbox Phi#124 to Int32 (fallible)
Int32
130
Unbox Phi#121 to Int32 (fallible)
Int32
131
Compare ← Unbox#129, Unbox#130 Lt
Bool
132
Test ← Compare#131 → block 13, block 19
1
0
Block 13
133
Unbox Phi#120 to Object (fallible)
Object
134
Unbox Phi#124 to Int32 (fallible)
Int32
135
GuardShape ← Unbox#133
Object
136
Elements ← GuardShape#135
Elements
137
InitializedLength ← Elements#136
Int32
138
BoundsCheck ← Unbox#134, InitializedLength#137
Int32
139
SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137
Int32
140
GuardElementNotHole ← Elements#136, SpectreMaskIndex#139
141
Constant true
Bool
142
Test ← Constant#141 → block 14, block 17
1
0
Block 14
143
Unbox Phi#120 to Object (fallible)
Object
144
Unbox Phi#124 to Int32 (fallible)
Int32
145
GuardShape ← Unbox#143
Object
146
Elements ← GuardShape#145
Elements
147
InitializedLength ← Elements#146
Int32
148
BoundsCheck ← Unbox#144, InitializedLength#147
Int32
149
SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147
Int32
150
GuardElementsArePacked ← Elements#146
151
LoadElement ← Elements#146, SpectreMaskIndex#149
Value
152
Constant 0x3
Int32
153
Unbox Phi#119 to Object (fallible)
Object
154
GuardToFunction ← Unbox#153
Object
155
GuardFunctionScript ← GuardToFunction#154
Object
156
Goto → block 15
Block 15
157
Constant undefined
Undefined
158
FunctionEnvironment ← GuardFunctionScript#155
Object
159
LoadFixedSlot ← FunctionEnvironment#158 (slot 2)
Value
160
Unbox LoadFixedSlot#159 to Object (fallible)
Object
161
MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151
Value
163
Goto → block 16
Block 16
164
Unbox Phi#123 to Object (fallible)
Object
165
Unbox Phi#124 to Int32 (fallible)
Int32
166
GuardShape ← Unbox#164
Object
167
Elements ← GuardShape#166
Elements
168
StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161
169
Goto → block 17
Block 17 (backedge)
170
Phi ← MegamorphicLoadSlotByValue#161, Phi#125
Value
171
Unbox Phi#124 to Int32 (fallible)
Int32
172
Constant 0x1
Int32
173
Add ← Unbox#171, Constant#172 [int32]
Int32
174
Goto → block 12
Block 19
177
Unbox Phi#123 to Object (fallible)
Object
178
GuardShape ← Unbox#177
Object
179
Constant object 104289c3e088 (Array)
Object
180
Constant function reduce (self-hosted:205) at 104289c479c0
Object
181
Constant function complex5/< (-e:22) at 104289c63e40
Object
182
Lambda ← NewCallObject#8, Constant#181
Object
183
Constant 0x0
Int32
184
Constant 0x2
Int32
185
Constant function reduce (self-hosted:205) at 104289c479c0
Object
186
GuardSpecificFunction ← Constant#180, Constant#185
Object
187
Call ← GuardSpecificFunction#186, Phi#123, Lambda#182, Constant#183
Value
188
Return ← Call#187
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5
11
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
12
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
13
PostWriteBarrier ← NewCallObject#8, Parameter#1
14
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
15
Constant object 104289c3f040 (LexicalEnvironment)
Object
16
Constant object 104289c3e030 (global)
Object
17
Constant function Object at 104289c422e0
Object
18
Constant function Object at 104289c422e0
Object
19
GuardObjectIdentity ← Constant#17, Constant#18
Object
20
Constant function keys at 104289c42468
Object
21
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
22
Constant 0x1
Int32
23
Constant function keys at 104289c42468
Object
24
GuardSpecificFunction ← Constant#20, Constant#23
Object
25
Unbox LoadFixedSlot#21 to Object (fallible)
Object
26
GuardIsNotProxy ← Unbox#25
Object
27
ObjectKeys ← GuardIsNotProxy#26
Object
28
GuardShape ← ObjectKeys#27
Object
29
Constant object 104289c3e088 (Array)
Object
30
Constant function map (self-hosted:163) at 104289c47920
Object
31
Constant function complex5/< (-e:22) at 104289c63e08
Object
32
Lambda ← NewCallObject#8, Constant#31
Object
33
Constant 0x1
Int32
34
Constant function map (self-hosted:163) at 104289c47920
Object
35
GuardSpecificFunction ← Constant#30, Constant#34
Object
36
Goto → block 1
Block 1
37
Constant undefined
Undefined
38
Constant function ToObject at 104289c6c740
Object
39
DebugCheckSelfHosted ← Constant#38
Value
40
Constant undefined
Undefined
41
Constant 0x1
Int32
42
Constant function ToLength at 104289c6c778
Object
43
DebugCheckSelfHosted ← Constant#42
Value
44
Constant undefined
Undefined
45
GuardShape ← ObjectKeys#27
Object
46
Elements ← GuardShape#45
Elements
47
ArrayLength ← Elements#46
Int32
48
Constant 0x1
Int32
49
Constant 0x0
Int32
50
MinMax ← ArrayLength#47, Constant#49 (max)
Int32
51
Constant 0x1
Int32
52
Constant 0x0
Int32
53
Compare ← Constant#51, Constant#52 StrictEq
Bool
54
Test ← Compare#53 → block 2, block 3
1
0
Block 2
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x37
Int32
59
Constant 0x0
Int32
60
Constant string 104289c2e080
String
61
Bail
191
Unreachable
Block 3
64
Constant function IsCallable at 104289c6c7b0
Object
65
DebugCheckSelfHosted ← Constant#64
Value
66
Constant undefined
Undefined
67
Constant 0x1
Int32
68
IsCallable ← Lambda#32
Bool
69
Test ← IsCallable#68 → block 5, block 4
1
0
Block 4
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0xc
Int32
74
CallGetIntrinsicValue
Value
75
DebugCheckSelfHosted ← CallGetIntrinsicValue#74
Value
76
Constant undefined
Undefined
77
Constant 0x0
Int32
78
Bail
190
Unreachable
Block 5
83
Constant 0x1
Int32
84
Constant 0x1
Int32
85
Compare ← Constant#83, Constant#84 Gt
Bool
86
Test ← Compare#85 → block 6, block 7
1
0
Block 6
87
Constant 0x1
Int32
88
GetInlinedArgument ← Constant#87, Lambda#32
Value
89
Goto → block 8
Block 7
90
Constant undefined
Undefined
91
Goto → block 8
Block 8
92
Phi ← Constant#90, GetInlinedArgument#88
Value
93
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
94
DebugCheckSelfHosted ← Constant#93
Value
95
Constant undefined
Undefined
96
Constant 0x1
Int32
97
HasShape ← ObjectKeys#27
Bool
98
Test ← HasShape#97 → block 9, block 10
1
0
Block 9
99
Constant function std_Array at 104289c6c820
Object
100
DebugCheckSelfHosted ← Constant#99
Value
101
Constant undefined
Undefined
102
Constant 0x1
Int32
103
Unbox DebugCheckSelfHosted#100 to Object (fallible)
Object
104
Constant function std_Array at 104289c6c820
Object
105
GuardSpecificFunction ← Unbox#103, Constant#104
Object
106
NewArrayDynamicLength ← MinMax#50
Object
107
Goto → block 11
Block 10
108
CallGetIntrinsicValue
Value
109
DebugCheckSelfHosted ← CallGetIntrinsicValue#108
Value
110
Constant undefined
Undefined
111
Bail
189
Unreachable
Block 11
114
Phi ← NewArrayDynamicLength#106
Value
115
Constant 0x0
Int32
127
Goto → block 12
Block 12 (loop header)
116
Phi ← Constant#37, Constant#37
Value
117
Phi ← Constant#37, Constant#37
Value
118
Phi ← ObjectKeys#27, ObjectKeys#27
Value
119
Phi ← Lambda#32, Lambda#32
Value
120
Phi ← ObjectKeys#27, ObjectKeys#27
Value
121
Phi ← MinMax#50, MinMax#50
Value
122
Phi ← Phi#92, Phi#92
Value
123
Phi ← Phi#114, Phi#114
Value
124
Phi ← Constant#115, Add#173
Value
125
Phi ← Constant#37, Phi#170
Value
126
Phi ← ObjectKeys#27, ObjectKeys#27
Value
128
InterruptCheck
129
Unbox Phi#124 to Int32 (fallible)
Int32
130
Unbox Phi#121 to Int32 (fallible)
Int32
131
Compare ← Unbox#129, Unbox#130 Lt
Bool
132
Test ← Compare#131 → block 13, block 19
1
0
Block 13
133
Unbox Phi#120 to Object (fallible)
Object
134
Unbox Phi#124 to Int32 (fallible)
Int32
135
GuardShape ← Unbox#133
Object
136
Elements ← GuardShape#135
Elements
137
InitializedLength ← Elements#136
Int32
138
BoundsCheck ← Unbox#134, InitializedLength#137
Int32
139
SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137
Int32
140
GuardElementNotHole ← Elements#136, SpectreMaskIndex#139
141
Constant true
Bool
142
Test ← Constant#141 → block 14, block 17
1
0
Block 14
143
Unbox Phi#120 to Object (fallible)
Object
144
Unbox Phi#124 to Int32 (fallible)
Int32
145
GuardShape ← Unbox#143
Object
146
Elements ← GuardShape#145
Elements
147
InitializedLength ← Elements#146
Int32
148
BoundsCheck ← Unbox#144, InitializedLength#147
Int32
149
SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147
Int32
150
GuardElementsArePacked ← Elements#146
151
LoadElement ← Elements#146, SpectreMaskIndex#149
Value
152
Constant 0x3
Int32
153
Unbox Phi#119 to Object (fallible)
Object
154
GuardToFunction ← Unbox#153
Object
155
GuardFunctionScript ← GuardToFunction#154
Object
156
Goto → block 15
Block 15
157
Constant undefined
Undefined
158
FunctionEnvironment ← GuardFunctionScript#155
Object
159
LoadFixedSlot ← FunctionEnvironment#158 (slot 2)
Value
160
Unbox LoadFixedSlot#159 to Object (fallible)
Object
161
MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151
Value
163
Goto → block 16
Block 16
164
Unbox Phi#123 to Object (fallible)
Object
165
Unbox Phi#124 to Int32 (fallible)
Int32
166
GuardShape ← Unbox#164
Object
167
Elements ← GuardShape#166
Elements
168
StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161
169
Goto → block 17
Block 17 (backedge)
170
Phi ← MegamorphicLoadSlotByValue#161, Phi#125
Value
171
Unbox Phi#124 to Int32 (fallible)
Int32
172
Constant 0x1
Int32
173
Add ← Unbox#171, Constant#172 [int32]
Int32
174
Goto → block 12
Block 19
177
Unbox Phi#123 to Object (fallible)
Object
178
GuardShape ← Unbox#177
Object
179
Constant object 104289c3e088 (Array)
Object
180
Constant function reduce (self-hosted:205) at 104289c479c0
Object
181
Constant function complex5/< (-e:22) at 104289c63e40
Object
182
Lambda ← NewCallObject#8, Constant#181
Object
183
Constant 0x0
Int32
184
Constant 0x2
Int32
185
Constant function reduce (self-hosted:205) at 104289c479c0
Object
186
GuardSpecificFunction ← Constant#180, Constant#185
Object
187
Call ← GuardSpecificFunction#186, Phi#123, Lambda#182, Constant#183
Value
188
Return ← Call#187
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5
11
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
12
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
13
PostWriteBarrier ← NewCallObject#8, Parameter#1
14
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
15
Constant object 104289c3f040 (LexicalEnvironment)
Object
16
Constant object 104289c3e030 (global)
Object
17
Constant function Object at 104289c422e0
Object
18
Constant function Object at 104289c422e0
Object
19
GuardObjectIdentity ← Constant#17, Constant#18
Object
20
Constant function keys at 104289c42468
Object
21
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
22
Constant 0x1
Int32
23
Constant function keys at 104289c42468
Object
24
GuardSpecificFunction ← Constant#20, Constant#23
Object
25
Unbox LoadFixedSlot#21 to Object (fallible)
Object
26
GuardIsNotProxy ← Unbox#25
Object
27
ObjectKeys ← GuardIsNotProxy#26
Object
28
GuardShape ← ObjectKeys#27
Object
29
Constant object 104289c3e088 (Array)
Object
30
Constant function map (self-hosted:163) at 104289c47920
Object
31
Constant function complex5/< (-e:22) at 104289c63e08
Object
32
Lambda ← NewCallObject#8, Constant#31
Object
33
Constant 0x1
Int32
34
Constant function map (self-hosted:163) at 104289c47920
Object
35
GuardSpecificFunction ← Constant#30, Constant#34
Object
36
Goto → block 1
Block 1
37
Constant undefined
Undefined
38
Constant function ToObject at 104289c6c740
Object
39
DebugCheckSelfHosted ← Constant#38
Value
40
Constant undefined
Undefined
41
Constant 0x1
Int32
42
Constant function ToLength at 104289c6c778
Object
43
DebugCheckSelfHosted ← Constant#42
Value
44
Constant undefined
Undefined
45
GuardShape ← ObjectKeys#27
Object
46
Elements ← GuardShape#45
Elements
47
ArrayLength ← Elements#46
Int32
48
Constant 0x1
Int32
49
Constant 0x0
Int32
50
MinMax ← ArrayLength#47, Constant#49 (max)
Int32
51
Constant 0x1
Int32
52
Constant 0x0
Int32
53
Compare ← Constant#51, Constant#52 StrictEq
Bool
54
Test ← Compare#53 → block 2, block 3
1
0
Block 2
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x37
Int32
59
Constant 0x0
Int32
60
Constant string 104289c2e080
String
61
Bail
191
Unreachable
Block 3
64
Constant function IsCallable at 104289c6c7b0
Object
65
DebugCheckSelfHosted ← Constant#64
Value
66
Constant undefined
Undefined
67
Constant 0x1
Int32
68
IsCallable ← Lambda#32
Bool
69
Test ← IsCallable#68 → block 5, block 4
1
0
Block 4
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0xc
Int32
74
CallGetIntrinsicValue
Value
75
DebugCheckSelfHosted ← CallGetIntrinsicValue#74
Value
76
Constant undefined
Undefined
77
Constant 0x0
Int32
78
Bail
190
Unreachable
Block 5
83
Constant 0x1
Int32
84
Constant 0x1
Int32
85
Compare ← Constant#83, Constant#84 Gt
Bool
86
Test ← Compare#85 → block 6, block 7
1
0
Block 6
87
Constant 0x1
Int32
88
GetInlinedArgument ← Constant#87, Lambda#32
Value
89
Goto → block 8
Block 7
90
Constant undefined
Undefined
91
Goto → block 8
Block 8
92
Phi ← Constant#90, GetInlinedArgument#88
Value
93
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
94
DebugCheckSelfHosted ← Constant#93
Value
95
Constant undefined
Undefined
96
Constant 0x1
Int32
97
HasShape ← ObjectKeys#27
Bool
98
Test ← HasShape#97 → block 9, block 10
1
0
Block 9
99
Constant function std_Array at 104289c6c820
Object
100
DebugCheckSelfHosted ← Constant#99
Value
101
Constant undefined
Undefined
102
Constant 0x1
Int32
103
Unbox DebugCheckSelfHosted#100 to Object (fallible)
Object
104
Constant function std_Array at 104289c6c820
Object
105
GuardSpecificFunction ← Unbox#103, Constant#104
Object
106
NewArrayDynamicLength ← MinMax#50
Object
107
Goto → block 11
Block 10
108
CallGetIntrinsicValue
Value
109
DebugCheckSelfHosted ← CallGetIntrinsicValue#108
Value
110
Constant undefined
Undefined
111
Bail
189
Unreachable
Block 11
114
Phi ← NewArrayDynamicLength#106
Value
115
Constant 0x0
Int32
127
Goto → block 12
Block 12 (loop header)
116
Phi ← Constant#37, Constant#37
Value
117
Phi ← Constant#37, Constant#37
Value
118
Phi ← ObjectKeys#27, ObjectKeys#27
Value
119
Phi ← Lambda#32, Lambda#32
Value
120
Phi ← ObjectKeys#27, ObjectKeys#27
Value
121
Phi ← MinMax#50, MinMax#50
Value
122
Phi ← Phi#92, Phi#92
Value
123
Phi ← Phi#114, Phi#114
Value
124
Phi ← Constant#115, Add#173
Value
125
Phi ← Constant#37, Phi#170
Value
126
Phi ← ObjectKeys#27, ObjectKeys#27
Value
128
InterruptCheck
129
Unbox Phi#124 to Int32 (fallible)
Int32
130
Unbox Phi#121 to Int32 (fallible)
Int32
131
Compare ← Unbox#129, Unbox#130 Lt
Bool
132
Test ← Compare#131 → block 13, block 19
1
0
Block 13
133
Unbox Phi#120 to Object (fallible)
Object
134
Unbox Phi#124 to Int32 (fallible)
Int32
135
GuardShape ← Unbox#133
Object
136
Elements ← GuardShape#135
Elements
137
InitializedLength ← Elements#136
Int32
138
BoundsCheck ← Unbox#134, InitializedLength#137
Int32
139
SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137
Int32
140
GuardElementNotHole ← Elements#136, SpectreMaskIndex#139
141
Constant true
Bool
142
Test ← Constant#141 → block 14, block 17
1
0
Block 14
143
Unbox Phi#120 to Object (fallible)
Object
144
Unbox Phi#124 to Int32 (fallible)
Int32
145
GuardShape ← Unbox#143
Object
146
Elements ← GuardShape#145
Elements
147
InitializedLength ← Elements#146
Int32
148
BoundsCheck ← Unbox#144, InitializedLength#147
Int32
149
SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147
Int32
150
GuardElementsArePacked ← Elements#146
151
LoadElement ← Elements#146, SpectreMaskIndex#149
Value
152
Constant 0x3
Int32
153
Unbox Phi#119 to Object (fallible)
Object
154
GuardToFunction ← Unbox#153
Object
155
GuardFunctionScript ← GuardToFunction#154
Object
156
Goto → block 15
Block 15
157
Constant undefined
Undefined
158
FunctionEnvironment ← GuardFunctionScript#155
Object
159
LoadFixedSlot ← FunctionEnvironment#158 (slot 2)
Value
160
Unbox LoadFixedSlot#159 to Object (fallible)
Object
161
MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151
Value
163
Goto → block 16
Block 16
164
Unbox Phi#123 to Object (fallible)
Object
165
Unbox Phi#124 to Int32 (fallible)
Int32
166
GuardShape ← Unbox#164
Object
167
Elements ← GuardShape#166
Elements
168
StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161
169
Goto → block 17
Block 17 (backedge)
170
Phi ← MegamorphicLoadSlotByValue#161, Phi#125
Value
171
Unbox Phi#124 to Int32 (fallible)
Int32
172
Constant 0x1
Int32
173
Add ← Unbox#171, Constant#172 [int32]
Int32
174
Goto → block 12
Block 19
177
Unbox Phi#123 to Object (fallible)
Object
178
GuardShape ← Unbox#177
Object
179
Constant object 104289c3e088 (Array)
Object
180
Constant function reduce (self-hosted:205) at 104289c479c0
Object
181
Constant function complex5/< (-e:22) at 104289c63e40
Object
182
Lambda ← NewCallObject#8, Constant#181
Object
183
Constant 0x0
Int32
184
Constant 0x2
Int32
185
Constant function reduce (self-hosted:205) at 104289c479c0
Object
186
GuardSpecificFunction ← Constant#180, Constant#185
Object
187
Call ← GuardSpecificFunction#186, Phi#123, Lambda#182, Constant#183
Value
188
Return ← Call#187
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5
11
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
12
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
13
PostWriteBarrier ← NewCallObject#8, Parameter#1
14
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
15
Constant object 104289c3f040 (LexicalEnvironment)
Object
16
Constant object 104289c3e030 (global)
Object
17
Constant function Object at 104289c422e0
Object
18
Constant function Object at 104289c422e0
Object
19
GuardObjectIdentity ← Constant#17, Constant#18
Object
20
Constant function keys at 104289c42468
Object
21
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
22
Constant 0x1
Int32
23
Constant function keys at 104289c42468
Object
24
GuardSpecificFunction ← Constant#20, Constant#23
Object
25
Unbox LoadFixedSlot#21 to Object (fallible)
Object
26
GuardIsNotProxy ← Unbox#25
Object
27
ObjectKeys ← GuardIsNotProxy#26
Object
28
GuardShape ← ObjectKeys#27
Object
29
Constant object 104289c3e088 (Array)
Object
30
Constant function map (self-hosted:163) at 104289c47920
Object
31
Constant function complex5/< (-e:22) at 104289c63e08
Object
32
Lambda ← NewCallObject#8, Constant#31
Object
33
Constant 0x1
Int32
34
Constant function map (self-hosted:163) at 104289c47920
Object
35
GuardSpecificFunction ← Constant#30, Constant#34
Object
36
Goto → block 1
Block 1
37
Constant undefined
Undefined
38
Constant function ToObject at 104289c6c740
Object
39
DebugCheckSelfHosted ← Constant#38
Value
40
Constant undefined
Undefined
41
Constant 0x1
Int32
42
Constant function ToLength at 104289c6c778
Object
43
DebugCheckSelfHosted ← Constant#42
Value
44
Constant undefined
Undefined
45
GuardShape ← ObjectKeys#27
Object
46
Elements ← GuardShape#45
Elements
47
ArrayLength ← Elements#46
Int32
48
Constant 0x1
Int32
49
Constant 0x0
Int32
50
MinMax ← ArrayLength#47, Constant#49 (max)
Int32
51
Constant 0x1
Int32
52
Constant 0x0
Int32
53
Compare ← Constant#51, Constant#52 StrictEq
Bool
54
Test ← Compare#53 → block 2, block 3
1
0
Block 2
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x37
Int32
59
Constant 0x0
Int32
60
Constant string 104289c2e080
String
61
Bail
191
Unreachable
Block 3
64
Constant function IsCallable at 104289c6c7b0
Object
65
DebugCheckSelfHosted ← Constant#64
Value
66
Constant undefined
Undefined
67
Constant 0x1
Int32
68
IsCallable ← Lambda#32
Bool
69
Test ← IsCallable#68 → block 5, block 4
1
0
Block 4
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0xc
Int32
74
CallGetIntrinsicValue
Value
75
DebugCheckSelfHosted ← CallGetIntrinsicValue#74
Value
76
Constant undefined
Undefined
77
Constant 0x0
Int32
78
Bail
190
Unreachable
Block 5
83
Constant 0x1
Int32
84
Constant 0x1
Int32
85
Compare ← Constant#83, Constant#84 Gt
Bool
86
Test ← Compare#85 → block 6, block 7
1
0
Block 6
87
Constant 0x1
Int32
88
GetInlinedArgument ← Constant#87, Lambda#32
Value
89
Goto → block 8
Block 7
90
Constant undefined
Undefined
91
Goto → block 8
Block 8
92
Phi ← Constant#90, GetInlinedArgument#88
Value
93
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
94
DebugCheckSelfHosted ← Constant#93
Value
95
Constant undefined
Undefined
96
Constant 0x1
Int32
97
HasShape ← ObjectKeys#27
Bool
98
Test ← HasShape#97 → block 9, block 10
1
0
Block 9
99
Constant function std_Array at 104289c6c820
Object
100
DebugCheckSelfHosted ← Constant#99
Value
101
Constant undefined
Undefined
102
Constant 0x1
Int32
103
Unbox DebugCheckSelfHosted#100 to Object (fallible)
Object
104
Constant function std_Array at 104289c6c820
Object
105
GuardSpecificFunction ← Unbox#103, Constant#104
Object
106
NewArrayDynamicLength ← MinMax#50
Object
107
Goto → block 11
Block 10
108
CallGetIntrinsicValue
Value
109
DebugCheckSelfHosted ← CallGetIntrinsicValue#108
Value
110
Constant undefined
Undefined
111
Bail
189
Unreachable
Block 11
114
Phi ← NewArrayDynamicLength#106
Value
115
Constant 0x0
Int32
127
Goto → block 12
Block 12 (loop header)
116
Phi ← Constant#37, Constant#37
Value
117
Phi ← Constant#37, Constant#37
Value
118
Phi ← ObjectKeys#27, ObjectKeys#27
Value
119
Phi ← Lambda#32, Lambda#32
Value
120
Phi ← ObjectKeys#27, ObjectKeys#27
Value
121
Phi ← MinMax#50, MinMax#50
Value
122
Phi ← Phi#92, Phi#92
Value
123
Phi ← Phi#114, Phi#114
Value
124
Phi ← Constant#115, Add#173
Value
125
Phi ← Constant#37, Phi#170
Value
126
Phi ← ObjectKeys#27, ObjectKeys#27
Value
128
InterruptCheck
129
Unbox Phi#124 to Int32 (fallible)
Int32
130
Unbox Phi#121 to Int32 (fallible)
Int32
131
Compare ← Unbox#129, Unbox#130 Lt
Bool
132
Test ← Compare#131 → block 13, block 19
1
0
Block 13
133
Unbox Phi#120 to Object (fallible)
Object
134
Unbox Phi#124 to Int32 (fallible)
Int32
135
GuardShape ← Unbox#133
Object
136
Elements ← GuardShape#135
Elements
137
InitializedLength ← Elements#136
Int32
138
BoundsCheck ← Unbox#134, InitializedLength#137
Int32
139
SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137
Int32
140
GuardElementNotHole ← Elements#136, SpectreMaskIndex#139
141
Constant true
Bool
142
Test ← Constant#141 → block 14, block 20
1
0
Block 20 (split edge)
192
Goto → block 17
Block 14
143
Unbox Phi#120 to Object (fallible)
Object
144
Unbox Phi#124 to Int32 (fallible)
Int32
145
GuardShape ← Unbox#143
Object
146
Elements ← GuardShape#145
Elements
147
InitializedLength ← Elements#146
Int32
148
BoundsCheck ← Unbox#144, InitializedLength#147
Int32
149
SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147
Int32
150
GuardElementsArePacked ← Elements#146
151
LoadElement ← Elements#146, SpectreMaskIndex#149
Value
152
Constant 0x3
Int32
153
Unbox Phi#119 to Object (fallible)
Object
154
GuardToFunction ← Unbox#153
Object
155
GuardFunctionScript ← GuardToFunction#154
Object
156
Goto → block 15
Block 15
157
Constant undefined
Undefined
158
FunctionEnvironment ← GuardFunctionScript#155
Object
159
LoadFixedSlot ← FunctionEnvironment#158 (slot 2)
Value
160
Unbox LoadFixedSlot#159 to Object (fallible)
Object
161
MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151
Value
163
Goto → block 16
Block 16
164
Unbox Phi#123 to Object (fallible)
Object
165
Unbox Phi#124 to Int32 (fallible)
Int32
166
GuardShape ← Unbox#164
Object
167
Elements ← GuardShape#166
Elements
168
StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161
169
Goto → block 17
Block 17 (backedge)
170
Phi ← MegamorphicLoadSlotByValue#161, Phi#125
Value
171
Unbox Phi#124 to Int32 (fallible)
Int32
172
Constant 0x1
Int32
173
Add ← Unbox#171, Constant#172 [int32]
Int32
174
Goto → block 12
Block 19
177
Unbox Phi#123 to Object (fallible)
Object
178
GuardShape ← Unbox#177
Object
179
Constant object 104289c3e088 (Array)
Object
180
Constant function reduce (self-hosted:205) at 104289c479c0
Object
181
Constant function complex5/< (-e:22) at 104289c63e40
Object
182
Lambda ← NewCallObject#8, Constant#181
Object
183
Constant 0x0
Int32
184
Constant 0x2
Int32
185
Constant function reduce (self-hosted:205) at 104289c479c0
Object
186
GuardSpecificFunction ← Constant#180, Constant#185
Object
187
Call ← GuardSpecificFunction#186, Phi#123, Lambda#182, Constant#183
Value
188
Return ← Call#187
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5
11
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
12
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
13
PostWriteBarrier ← NewCallObject#8, Parameter#1
14
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
15
Constant object 104289c3f040 (LexicalEnvironment)
Object
16
Constant object 104289c3e030 (global)
Object
17
Constant function Object at 104289c422e0
Object
18
Constant function Object at 104289c422e0
Object
19
GuardObjectIdentity ← Constant#17, Constant#18
Object
20
Constant function keys at 104289c42468
Object
21
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
22
Constant 0x1
Int32
23
Constant function keys at 104289c42468
Object
24
GuardSpecificFunction ← Constant#20, Constant#23
Object
25
Unbox LoadFixedSlot#21 to Object (fallible)
Object
26
GuardIsNotProxy ← Unbox#25
Object
27
ObjectKeys ← GuardIsNotProxy#26
Object
28
GuardShape ← ObjectKeys#27
Object
29
Constant object 104289c3e088 (Array)
Object
30
Constant function map (self-hosted:163) at 104289c47920
Object
31
Constant function complex5/< (-e:22) at 104289c63e08
Object
32
Lambda ← NewCallObject#8, Constant#31
Object
33
Constant 0x1
Int32
34
Constant function map (self-hosted:163) at 104289c47920
Object
35
GuardSpecificFunction ← Constant#30, Constant#34
Object
36
Goto → block 1
Block 1
37
Constant undefined
Undefined
38
Constant function ToObject at 104289c6c740
Object
39
DebugCheckSelfHosted ← Constant#38
Value
40
Constant undefined
Undefined
41
Constant 0x1
Int32
42
Constant function ToLength at 104289c6c778
Object
43
DebugCheckSelfHosted ← Constant#42
Value
44
Constant undefined
Undefined
45
GuardShape ← ObjectKeys#27
Object
46
Elements ← GuardShape#45
Elements
47
ArrayLength ← Elements#46
Int32
48
Constant 0x1
Int32
49
Constant 0x0
Int32
50
MinMax ← ArrayLength#47, Constant#49 (max)
Int32
51
Constant 0x1
Int32
52
Constant 0x0
Int32
53
Compare ← Constant#51, Constant#52 StrictEq
Bool
54
Test ← Compare#53 → block 2, block 3
1
0
Block 2
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x37
Int32
59
Constant 0x0
Int32
60
Constant string 104289c2e080
String
61
Bail
191
Unreachable
Block 3
64
Constant function IsCallable at 104289c6c7b0
Object
65
DebugCheckSelfHosted ← Constant#64
Value
66
Constant undefined
Undefined
67
Constant 0x1
Int32
68
IsCallable ← Lambda#32
Bool
69
Test ← IsCallable#68 → block 5, block 4
1
0
Block 4
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0xc
Int32
74
CallGetIntrinsicValue
Value
75
DebugCheckSelfHosted ← CallGetIntrinsicValue#74
Value
76
Constant undefined
Undefined
77
Constant 0x0
Int32
78
Bail
190
Unreachable
Block 5
83
Constant 0x1
Int32
84
Constant 0x1
Int32
85
Compare ← Constant#83, Constant#84 Gt
Bool
86
Test ← Compare#85 → block 6, block 7
1
0
Block 6
87
Constant 0x1
Int32
88
GetInlinedArgument ← Constant#87, Lambda#32
Value
89
Goto → block 8
Block 7
90
Constant undefined
Undefined
91
Goto → block 8
Block 8
92
Phi ← Constant#90, GetInlinedArgument#88
Value
93
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
94
DebugCheckSelfHosted ← Constant#93
Value
95
Constant undefined
Undefined
96
Constant 0x1
Int32
97
HasShape ← ObjectKeys#27
Bool
98
Test ← HasShape#97 → block 9, block 10
1
0
Block 9
99
Constant function std_Array at 104289c6c820
Object
100
DebugCheckSelfHosted ← Constant#99
Value
101
Constant undefined
Undefined
102
Constant 0x1
Int32
103
Unbox DebugCheckSelfHosted#100 to Object (fallible)
Object
104
Constant function std_Array at 104289c6c820
Object
105
GuardSpecificFunction ← Unbox#103, Constant#104
Object
106
NewArrayDynamicLength ← MinMax#50
Object
107
Goto → block 11
Block 10
108
CallGetIntrinsicValue
Value
109
DebugCheckSelfHosted ← CallGetIntrinsicValue#108
Value
110
Constant undefined
Undefined
111
Bail
189
Unreachable
Block 11
114
Phi ← NewArrayDynamicLength#106
Value
115
Constant 0x0
Int32
127
Goto → block 12
Block 12 (loop header)
116
Phi ← Constant#37, Constant#37
Value
117
Phi ← Constant#37, Constant#37
Value
118
Phi ← ObjectKeys#27, ObjectKeys#27
Value
119
Phi ← Lambda#32, Lambda#32
Value
120
Phi ← ObjectKeys#27, ObjectKeys#27
Value
121
Phi ← MinMax#50, MinMax#50
Value
122
Phi ← Phi#92, Phi#92
Value
123
Phi ← Phi#114, Phi#114
Value
124
Phi ← Constant#115, Add#173
Value
125
Phi ← Constant#37, Phi#170
Value
126
Phi ← ObjectKeys#27, ObjectKeys#27
Value
128
InterruptCheck
129
Unbox Phi#124 to Int32 (fallible)
Int32
130
Unbox Phi#121 to Int32 (fallible)
Int32
131
Compare ← Unbox#129, Unbox#130 Lt
Bool
132
Test ← Compare#131 → block 13, block 19
1
0
Block 13
133
Unbox Phi#120 to Object (fallible)
Object
134
Unbox Phi#124 to Int32 (fallible)
Int32
135
GuardShape ← Unbox#133
Object
136
Elements ← GuardShape#135
Elements
137
InitializedLength ← Elements#136
Int32
138
BoundsCheck ← Unbox#134, InitializedLength#137
Int32
139
SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137
Int32
140
GuardElementNotHole ← Elements#136, SpectreMaskIndex#139
141
Constant true
Bool
142
Test ← Constant#141 → block 15, block 14
1
0
Block 14 (split edge)
192
Goto → block 18
Block 15
143
Unbox Phi#120 to Object (fallible)
Object
144
Unbox Phi#124 to Int32 (fallible)
Int32
145
GuardShape ← Unbox#143
Object
146
Elements ← GuardShape#145
Elements
147
InitializedLength ← Elements#146
Int32
148
BoundsCheck ← Unbox#144, InitializedLength#147
Int32
149
SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147
Int32
150
GuardElementsArePacked ← Elements#146
151
LoadElement ← Elements#146, SpectreMaskIndex#149
Value
152
Constant 0x3
Int32
153
Unbox Phi#119 to Object (fallible)
Object
154
GuardToFunction ← Unbox#153
Object
155
GuardFunctionScript ← GuardToFunction#154
Object
156
Goto → block 16
Block 16
157
Constant undefined
Undefined
158
FunctionEnvironment ← GuardFunctionScript#155
Object
159
LoadFixedSlot ← FunctionEnvironment#158 (slot 2)
Value
160
Unbox LoadFixedSlot#159 to Object (fallible)
Object
161
MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151
Value
163
Goto → block 17
Block 17
164
Unbox Phi#123 to Object (fallible)
Object
165
Unbox Phi#124 to Int32 (fallible)
Int32
166
GuardShape ← Unbox#164
Object
167
Elements ← GuardShape#166
Elements
168
StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161
169
Goto → block 18
Block 18 (backedge)
170
Phi ← MegamorphicLoadSlotByValue#161, Phi#125
Value
171
Unbox Phi#124 to Int32 (fallible)
Int32
172
Constant 0x1
Int32
173
Add ← Unbox#171, Constant#172 [int32]
Int32
174
Goto → block 12
Block 19
177
Unbox Phi#123 to Object (fallible)
Object
178
GuardShape ← Unbox#177
Object
179
Constant object 104289c3e088 (Array)
Object
180
Constant function reduce (self-hosted:205) at 104289c479c0
Object
181
Constant function complex5/< (-e:22) at 104289c63e40
Object
182
Lambda ← NewCallObject#8, Constant#181
Object
183
Constant 0x0
Int32
184
Constant 0x2
Int32
185
Constant function reduce (self-hosted:205) at 104289c479c0
Object
186
GuardSpecificFunction ← Constant#180, Constant#185
Object
187
Call ← GuardSpecificFunction#186, Phi#123, Lambda#182, Constant#183
Value
188
Return ← Call#187
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5
11
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
12
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
13
PostWriteBarrier ← NewCallObject#8, Parameter#1
14
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
15
Constant object 104289c3f040 (LexicalEnvironment)
Object
16
Constant object 104289c3e030 (global)
Object
17
Constant function Object at 104289c422e0
Object
18
Constant function Object at 104289c422e0
Object
19
GuardObjectIdentity ← Constant#17, Constant#18
Object
20
Constant function keys at 104289c42468
Object
21
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
22
Constant 0x1
Int32
23
Constant function keys at 104289c42468
Object
24
GuardSpecificFunction ← Constant#20, Constant#23
Object
25
Unbox LoadFixedSlot#21 to Object (fallible)
Object
26
GuardIsNotProxy ← Unbox#25
Object
27
ObjectKeys ← GuardIsNotProxy#26
Object
28
GuardShape ← ObjectKeys#27
Object
29
Constant object 104289c3e088 (Array)
Object
30
Constant function map (self-hosted:163) at 104289c47920
Object
31
Constant function complex5/< (-e:22) at 104289c63e08
Object
32
Lambda ← NewCallObject#8, Constant#31
Object
33
Constant 0x1
Int32
34
Constant function map (self-hosted:163) at 104289c47920
Object
35
GuardSpecificFunction ← Constant#30, Constant#34
Object
36
Goto → block 1
Block 1
37
Constant undefined
Undefined
38
Constant function ToObject at 104289c6c740
Object
39
DebugCheckSelfHosted ← Constant#38
Value
40
Constant undefined
Undefined
41
Constant 0x1
Int32
42
Constant function ToLength at 104289c6c778
Object
43
DebugCheckSelfHosted ← Constant#42
Value
44
Constant undefined
Undefined
45
GuardShape ← ObjectKeys#27
Object
46
Elements ← GuardShape#45
Elements
47
ArrayLength ← Elements#46
Int32
48
Constant 0x1
Int32
49
Constant 0x0
Int32
50
MinMax ← ArrayLength#47, Constant#49 (max)
Int32
51
Constant 0x1
Int32
52
Constant 0x0
Int32
53
Compare ← Constant#51, Constant#52 StrictEq
Bool
54
Test ← Compare#53 → block 2, block 3
1
0
Block 2
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x37
Int32
59
Constant 0x0
Int32
60
Constant string 104289c2e080
String
61
Bail
191
Unreachable
Block 3
64
Constant function IsCallable at 104289c6c7b0
Object
65
DebugCheckSelfHosted ← Constant#64
Value
66
Constant undefined
Undefined
67
Constant 0x1
Int32
68
IsCallable ← Lambda#32
Bool
69
Test ← IsCallable#68 → block 5, block 4
1
0
Block 4
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0xc
Int32
74
CallGetIntrinsicValue
Value
75
DebugCheckSelfHosted ← CallGetIntrinsicValue#74
Value
76
Constant undefined
Undefined
77
Constant 0x0
Int32
78
Bail
190
Unreachable
Block 5
83
Constant 0x1
Int32
84
Constant 0x1
Int32
85
Compare ← Constant#83, Constant#84 Gt
Bool
86
Test ← Compare#85 → block 6, block 7
1
0
Block 6
87
Constant 0x1
Int32
88
GetInlinedArgument ← Constant#87, Lambda#32
Value
89
Goto → block 8
Block 7
90
Constant undefined
Undefined
91
Goto → block 8
Block 8
92
Phi ← Constant#90, GetInlinedArgument#88
Value
93
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
94
DebugCheckSelfHosted ← Constant#93
Value
95
Constant undefined
Undefined
96
Constant 0x1
Int32
97
HasShape ← ObjectKeys#27
Bool
98
Test ← HasShape#97 → block 9, block 10
1
0
Block 9
99
Constant function std_Array at 104289c6c820
Object
100
DebugCheckSelfHosted ← Constant#99
Value
101
Constant undefined
Undefined
102
Constant 0x1
Int32
103
Unbox DebugCheckSelfHosted#100 to Object (fallible)
Object
104
Constant function std_Array at 104289c6c820
Object
105
GuardSpecificFunction ← Unbox#103, Constant#104
Object
106
NewArrayDynamicLength ← MinMax#50
Object
107
Goto → block 11
Block 10
108
CallGetIntrinsicValue
Value
109
DebugCheckSelfHosted ← CallGetIntrinsicValue#108
Value
110
Constant undefined
Undefined
111
Bail
189
Unreachable
Block 11
115
Constant 0x0
Int32
127
Goto → block 12
Block 12 (loop header)
124
Phi ← Constant#115, Add#173
Value
193
Constant magic optimized-out
MagicOptimizedOut
128
InterruptCheck
129
Unbox Phi#124 to Int32 (fallible)
Int32
130
Unbox MinMax#50 to Int32 (fallible)
Int32
131
Compare ← Unbox#129, Unbox#130 Lt
Bool
132
Test ← Compare#131 → block 13, block 19
1
0
Block 13
198
Constant magic optimized-out
MagicOptimizedOut
133
Unbox ObjectKeys#27 to Object (fallible)
Object
134
Unbox Phi#124 to Int32 (fallible)
Int32
135
GuardShape ← Unbox#133
Object
136
Elements ← GuardShape#135
Elements
137
InitializedLength ← Elements#136
Int32
138
BoundsCheck ← Unbox#134, InitializedLength#137
Int32
139
SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137
Int32
140
GuardElementNotHole ← Elements#136, SpectreMaskIndex#139
141
Constant true
Bool
142
Test ← Constant#141 → block 15, block 14
1
0
Block 14 (split edge)
195
Constant magic optimized-out
MagicOptimizedOut
192
Goto → block 18
Block 15
197
Constant magic optimized-out
MagicOptimizedOut
143
Unbox ObjectKeys#27 to Object (fallible)
Object
144
Unbox Phi#124 to Int32 (fallible)
Int32
145
GuardShape ← Unbox#143
Object
146
Elements ← GuardShape#145
Elements
147
InitializedLength ← Elements#146
Int32
148
BoundsCheck ← Unbox#144, InitializedLength#147
Int32
149
SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147
Int32
150
GuardElementsArePacked ← Elements#146
151
LoadElement ← Elements#146, SpectreMaskIndex#149
Value
152
Constant 0x3
Int32
153
Unbox Lambda#32 to Object (fallible)
Object
154
GuardToFunction ← Unbox#153
Object
155
GuardFunctionScript ← GuardToFunction#154
Object
156
Goto → block 16
Block 16
157
Constant undefined
Undefined
158
FunctionEnvironment ← GuardFunctionScript#155
Object
159
LoadFixedSlot ← FunctionEnvironment#158 (slot 2)
Value
160
Unbox LoadFixedSlot#159 to Object (fallible)
Object
161
MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151
Value
163
Goto → block 17
Block 17
196
Constant magic optimized-out
MagicOptimizedOut
164
Unbox NewArrayDynamicLength#106 to Object (fallible)
Object
165
Unbox Phi#124 to Int32 (fallible)
Int32
166
GuardShape ← Unbox#164
Object
167
Elements ← GuardShape#166
Elements
168
StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161
169
Goto → block 18
Block 18 (backedge)
194
Constant magic optimized-out
MagicOptimizedOut
171
Unbox Phi#124 to Int32 (fallible)
Int32
172
Constant 0x1
Int32
173
Add ← Unbox#171, Constant#172 [int32]
Int32
174
Goto → block 12
Block 19
177
Unbox NewArrayDynamicLength#106 to Object (fallible)
Object
178
GuardShape ← Unbox#177
Object
179
Constant object 104289c3e088 (Array)
Object
180
Constant function reduce (self-hosted:205) at 104289c479c0
Object
181
Constant function complex5/< (-e:22) at 104289c63e40
Object
182
Lambda ← NewCallObject#8, Constant#181
Object
183
Constant 0x0
Int32
184
Constant 0x2
Int32
185
Constant function reduce (self-hosted:205) at 104289c479c0
Object
186
GuardSpecificFunction ← Constant#180, Constant#185
Object
187
Call ← GuardSpecificFunction#186, NewArrayDynamicLength#106, Lambda#182, Constant#183
Value
188
Return ← Call#187
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5
11
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
12
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
13
PostWriteBarrier ← NewCallObject#8, Parameter#1
14
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
15
Constant object 104289c3f040 (LexicalEnvironment)
Object
16
Constant object 104289c3e030 (global)
Object
17
Constant function Object at 104289c422e0
Object
18
Constant function Object at 104289c422e0
Object
19
GuardObjectIdentity ← Constant#17, Constant#18
Object
20
Constant function keys at 104289c42468
Object
21
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
22
Constant 0x1
Int32
23
Constant function keys at 104289c42468
Object
24
GuardSpecificFunction ← Constant#20, Constant#23
Object
25
Unbox LoadFixedSlot#21 to Object (fallible)
Object
26
GuardIsNotProxy ← Unbox#25
Object
27
ObjectKeys ← GuardIsNotProxy#26
Object
28
GuardShape ← ObjectKeys#27
Object
29
Constant object 104289c3e088 (Array)
Object
30
Constant function map (self-hosted:163) at 104289c47920
Object
31
Constant function complex5/< (-e:22) at 104289c63e08
Object
32
Lambda ← NewCallObject#8, Constant#31
Object
33
Constant 0x1
Int32
34
Constant function map (self-hosted:163) at 104289c47920
Object
35
GuardSpecificFunction ← Constant#30, Constant#34
Object
36
Goto → block 1
Block 1
37
Constant undefined
Undefined
38
Constant function ToObject at 104289c6c740
Object
39
DebugCheckSelfHosted ← Constant#38
Value
40
Constant undefined
Undefined
41
Constant 0x1
Int32
42
Constant function ToLength at 104289c6c778
Object
43
DebugCheckSelfHosted ← Constant#42
Value
44
Constant undefined
Undefined
45
GuardShape ← ObjectKeys#27
Object
46
Elements ← GuardShape#45
Elements
47
ArrayLength ← Elements#46
Int32
48
Constant 0x1
Int32
49
Constant 0x0
Int32
50
MinMax ← ArrayLength#47, Constant#49 (max)
Int32
51
Constant 0x1
Int32
52
Constant 0x0
Int32
53
Compare ← Constant#51, Constant#52 StrictEq
Bool
54
Test ← Compare#53 → block 2, block 3
1
0
Block 2
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x37
Int32
59
Constant 0x0
Int32
60
Constant string 104289c2e080
String
61
Bail
191
Unreachable
Block 3
64
Constant function IsCallable at 104289c6c7b0
Object
65
DebugCheckSelfHosted ← Constant#64
Value
66
Constant undefined
Undefined
67
Constant 0x1
Int32
68
IsCallable ← Lambda#32
Bool
69
Test ← IsCallable#68 → block 5, block 4
1
0
Block 4
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0xc
Int32
74
CallGetIntrinsicValue
Value
75
DebugCheckSelfHosted ← CallGetIntrinsicValue#74
Value
76
Constant undefined
Undefined
77
Constant 0x0
Int32
78
Bail
190
Unreachable
Block 5
83
Constant 0x1
Int32
84
Constant 0x1
Int32
85
Compare ← Constant#83, Constant#84 Gt
Bool
86
Test ← Compare#85 → block 6, block 7
1
0
Block 6
87
Constant 0x1
Int32
88
GetInlinedArgument ← Constant#87, Lambda#32
Value
89
Goto → block 8
Block 7
90
Constant undefined
Undefined
91
Goto → block 8
Block 8
92
Phi ← Constant#90, GetInlinedArgument#88
Value
93
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
94
DebugCheckSelfHosted ← Constant#93
Value
95
Constant undefined
Undefined
96
Constant 0x1
Int32
97
HasShape ← ObjectKeys#27
Bool
98
Test ← HasShape#97 → block 9, block 10
1
0
Block 9
99
Constant function std_Array at 104289c6c820
Object
100
DebugCheckSelfHosted ← Constant#99
Value
101
Constant undefined
Undefined
102
Constant 0x1
Int32
103
Unbox DebugCheckSelfHosted#100 to Object (fallible)
Object
104
Constant function std_Array at 104289c6c820
Object
105
GuardSpecificFunction ← Unbox#103, Constant#104
Object
106
NewArrayDynamicLength ← MinMax#50
Object
107
Goto → block 11
Block 10
108
CallGetIntrinsicValue
Value
109
DebugCheckSelfHosted ← CallGetIntrinsicValue#108
Value
110
Constant undefined
Undefined
111
Bail
189
Unreachable
Block 11
115
Constant 0x0
Int32
127
Goto → block 12
Block 12 (loop header)
124
Phi ← Constant#115, Add#173
Value
193
Constant magic optimized-out
MagicOptimizedOut
128
InterruptCheck
129
Unbox Phi#124 to Int32 (fallible)
Int32
130
Unbox MinMax#50 to Int32 (fallible)
Int32
131
Compare ← Unbox#129, Unbox#130 Lt
Bool
132
Test ← Compare#131 → block 13, block 19
1
0
Block 13
198
Constant magic optimized-out
MagicOptimizedOut
133
Unbox ObjectKeys#27 to Object (fallible)
Object
134
Unbox Phi#124 to Int32 (fallible)
Int32
135
GuardShape ← Unbox#133
Object
136
Elements ← GuardShape#135
Elements
137
InitializedLength ← Elements#136
Int32
138
BoundsCheck ← Unbox#134, InitializedLength#137
Int32
139
SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137
Int32
140
GuardElementNotHole ← Elements#136, SpectreMaskIndex#139
141
Constant true
Bool
142
Test ← Constant#141 → block 15, block 14
1
0
Block 14 (split edge)
195
Constant magic optimized-out
MagicOptimizedOut
192
Goto → block 18
Block 15
197
Constant magic optimized-out
MagicOptimizedOut
143
Unbox ObjectKeys#27 to Object (fallible)
Object
144
Unbox Phi#124 to Int32 (fallible)
Int32
145
GuardShape ← Unbox#143
Object
146
Elements ← GuardShape#145
Elements
147
InitializedLength ← Elements#146
Int32
148
BoundsCheck ← Unbox#144, InitializedLength#147
Int32
149
SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147
Int32
150
GuardElementsArePacked ← Elements#146
151
LoadElement ← Elements#146, SpectreMaskIndex#149
Value
152
Constant 0x3
Int32
153
Unbox Lambda#32 to Object (fallible)
Object
154
GuardToFunction ← Unbox#153
Object
155
GuardFunctionScript ← GuardToFunction#154
Object
156
Goto → block 16
Block 16
157
Constant undefined
Undefined
158
FunctionEnvironment ← GuardFunctionScript#155
Object
159
LoadFixedSlot ← FunctionEnvironment#158 (slot 2)
Value
160
Unbox LoadFixedSlot#159 to Object (fallible)
Object
161
MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151
Value
163
Goto → block 17
Block 17
196
Constant magic optimized-out
MagicOptimizedOut
164
Unbox NewArrayDynamicLength#106 to Object (fallible)
Object
165
Unbox Phi#124 to Int32 (fallible)
Int32
166
GuardShape ← Unbox#164
Object
167
Elements ← GuardShape#166
Elements
168
StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161
169
Goto → block 18
Block 18 (backedge)
194
Constant magic optimized-out
MagicOptimizedOut
171
Unbox Phi#124 to Int32 (fallible)
Int32
172
Constant 0x1
Int32
173
Add ← Unbox#171, Constant#172 [int32]
Int32
174
Goto → block 12
Block 19
177
Unbox NewArrayDynamicLength#106 to Object (fallible)
Object
178
GuardShape ← Unbox#177
Object
179
Constant object 104289c3e088 (Array)
Object
180
Constant function reduce (self-hosted:205) at 104289c479c0
Object
181
Constant function complex5/< (-e:22) at 104289c63e40
Object
182
Lambda ← NewCallObject#8, Constant#181
Object
183
Constant 0x0
Int32
184
Constant 0x2
Int32
185
Constant function reduce (self-hosted:205) at 104289c479c0
Object
186
GuardSpecificFunction ← Constant#180, Constant#185
Object
187
Call ← GuardSpecificFunction#186, NewArrayDynamicLength#106, Lambda#182, Constant#183
Value
188
Return ← Call#187
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5
11
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
12
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
13
PostWriteBarrier ← NewCallObject#8, Parameter#1
14
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
15
Constant object 104289c3f040 (LexicalEnvironment)
Object
16
Constant object 104289c3e030 (global)
Object
17
Constant function Object at 104289c422e0
Object
18
Constant function Object at 104289c422e0
Object
19
GuardObjectIdentity ← Constant#17, Constant#18
Object
20
Constant function keys at 104289c42468
Object
21
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
22
Constant 0x1
Int32
23
Constant function keys at 104289c42468
Object
24
GuardSpecificFunction ← Constant#20, Constant#23
Object
25
Unbox LoadFixedSlot#21 to Object (fallible)
Object
26
GuardIsNotProxy ← Unbox#25
Object
27
ObjectKeys ← GuardIsNotProxy#26
Object
28
GuardShape ← ObjectKeys#27
Object
29
Constant object 104289c3e088 (Array)
Object
30
Constant function map (self-hosted:163) at 104289c47920
Object
31
Constant function complex5/< (-e:22) at 104289c63e08
Object
32
Lambda ← NewCallObject#8, Constant#31
Object
33
Constant 0x1
Int32
34
Constant function map (self-hosted:163) at 104289c47920
Object
35
GuardSpecificFunction ← Constant#30, Constant#34
Object
36
Goto → block 1
Block 1
37
Constant undefined
Undefined
38
Constant function ToObject at 104289c6c740
Object
39
DebugCheckSelfHosted ← Constant#38
Value
40
Constant undefined
Undefined
41
Constant 0x1
Int32
42
Constant function ToLength at 104289c6c778
Object
43
DebugCheckSelfHosted ← Constant#42
Value
44
Constant undefined
Undefined
45
GuardShape ← ObjectKeys#27
Object
46
Elements ← GuardShape#45
Elements
47
ArrayLength ← Elements#46
Int32
48
Constant 0x1
Int32
49
Constant 0x0
Int32
50
MinMax ← ArrayLength#47, Constant#49 (max)
Int32
51
Constant 0x1
Int32
52
Constant 0x0
Int32
53
Compare ← Constant#51, Constant#52 StrictEq
Bool
54
Test ← Compare#53 → block 2, block 3
1
0
Block 2
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x37
Int32
59
Constant 0x0
Int32
60
Constant string 104289c2e080
String
61
Bail
191
Unreachable
Block 3
64
Constant function IsCallable at 104289c6c7b0
Object
65
DebugCheckSelfHosted ← Constant#64
Value
66
Constant undefined
Undefined
67
Constant 0x1
Int32
68
IsCallable ← Lambda#32
Bool
69
Test ← IsCallable#68 → block 5, block 4
1
0
Block 4
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0xc
Int32
74
CallGetIntrinsicValue
Value
75
DebugCheckSelfHosted ← CallGetIntrinsicValue#74
Value
76
Constant undefined
Undefined
77
Constant 0x0
Int32
78
Bail
190
Unreachable
Block 5
83
Constant 0x1
Int32
84
Constant 0x1
Int32
85
Compare ← Constant#83, Constant#84 Gt
Bool
86
Test ← Compare#85 → block 6, block 7
1
0
Block 6
87
Constant 0x1
Int32
88
GetInlinedArgument ← Constant#87, Lambda#32
Value
89
Goto → block 8
Block 7
90
Constant undefined
Undefined
91
Goto → block 8
Block 8
92
Phi ← Constant#90, GetInlinedArgument#88
Value
93
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
94
DebugCheckSelfHosted ← Constant#93
Value
95
Constant undefined
Undefined
96
Constant 0x1
Int32
97
HasShape ← ObjectKeys#27
Bool
98
Test ← HasShape#97 → block 9, block 10
1
0
Block 9
99
Constant function std_Array at 104289c6c820
Object
100
DebugCheckSelfHosted ← Constant#99
Value
101
Constant undefined
Undefined
102
Constant 0x1
Int32
103
Unbox DebugCheckSelfHosted#100 to Object (fallible)
Object
104
Constant function std_Array at 104289c6c820
Object
105
GuardSpecificFunction ← Unbox#103, Constant#104
Object
106
NewArrayDynamicLength ← MinMax#50
Object
107
Goto → block 11
Block 10
108
CallGetIntrinsicValue
Value
109
DebugCheckSelfHosted ← CallGetIntrinsicValue#108
Value
110
Constant undefined
Undefined
111
Bail
189
Unreachable
Block 11
115
Constant 0x0
Int32
127
Goto → block 12
Block 12 (loop header)
124
Phi ← Constant#115, Add#173
Value
193
Constant magic optimized-out
MagicOptimizedOut
128
InterruptCheck
129
Unbox Phi#124 to Int32 (fallible)
Int32
130
Unbox MinMax#50 to Int32 (fallible)
Int32
131
Compare ← Unbox#129, Unbox#130 Lt
Bool
132
Test ← Compare#131 → block 13, block 19
1
0
Block 13
198
Constant magic optimized-out
MagicOptimizedOut
133
Unbox ObjectKeys#27 to Object (fallible)
Object
134
Unbox Phi#124 to Int32 (fallible)
Int32
135
GuardShape ← Unbox#133
Object
136
Elements ← GuardShape#135
Elements
137
InitializedLength ← Elements#136
Int32
138
BoundsCheck ← Unbox#134, InitializedLength#137
Int32
139
SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137
Int32
140
GuardElementNotHole ← Elements#136, SpectreMaskIndex#139
141
Constant true
Bool
142
Test ← Constant#141 → block 15, block 14
1
0
Block 14 (split edge)
195
Constant magic optimized-out
MagicOptimizedOut
192
Goto → block 18
Block 15
197
Constant magic optimized-out
MagicOptimizedOut
143
Unbox ObjectKeys#27 to Object (fallible)
Object
144
Unbox Phi#124 to Int32 (fallible)
Int32
145
GuardShape ← Unbox#143
Object
146
Elements ← GuardShape#145
Elements
147
InitializedLength ← Elements#146
Int32
148
BoundsCheck ← Unbox#144, InitializedLength#147
Int32
149
SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147
Int32
150
GuardElementsArePacked ← Elements#146
151
LoadElement ← Elements#146, SpectreMaskIndex#149
Value
152
Constant 0x3
Int32
153
Unbox Lambda#32 to Object (fallible)
Object
154
GuardToFunction ← Unbox#153
Object
155
GuardFunctionScript ← GuardToFunction#154
Object
156
Goto → block 16
Block 16
157
Constant undefined
Undefined
158
FunctionEnvironment ← GuardFunctionScript#155
Object
159
LoadFixedSlot ← FunctionEnvironment#158 (slot 2)
Value
160
Unbox LoadFixedSlot#159 to Object (fallible)
Object
161
MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151
Value
163
Goto → block 17
Block 17
196
Constant magic optimized-out
MagicOptimizedOut
164
Unbox NewArrayDynamicLength#106 to Object (fallible)
Object
165
Unbox Phi#124 to Int32 (fallible)
Int32
166
GuardShape ← Unbox#164
Object
167
Elements ← GuardShape#166
Elements
168
StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161
169
Goto → block 18
Block 18 (backedge)
194
Constant magic optimized-out
MagicOptimizedOut
171
Unbox Phi#124 to Int32 (fallible)
Int32
172
Constant 0x1
Int32
173
Add ← Unbox#171, Constant#172 [int32]
Int32
174
Goto → block 12
Block 19
177
Unbox NewArrayDynamicLength#106 to Object (fallible)
Object
178
GuardShape ← Unbox#177
Object
179
Constant object 104289c3e088 (Array)
Object
180
Constant function reduce (self-hosted:205) at 104289c479c0
Object
181
Constant function complex5/< (-e:22) at 104289c63e40
Object
182
Lambda ← NewCallObject#8, Constant#181
Object
183
Constant 0x0
Int32
184
Constant 0x2
Int32
185
Constant function reduce (self-hosted:205) at 104289c479c0
Object
186
GuardSpecificFunction ← Constant#180, Constant#185
Object
187
Call ← GuardSpecificFunction#186, NewArrayDynamicLength#106, Lambda#182, Constant#183
Value
188
Return ← Call#187
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
AssertCanElidePostWriteBarrier ← NewCallObject#8, FunctionEnvironment#6
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Callee#5
11
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
12
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
13
PostWriteBarrier ← NewCallObject#8, Parameter#1
14
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
15
Constant object 104289c3f040 (LexicalEnvironment)
Object
16
Constant object 104289c3e030 (global)
Object
17
Constant function Object at 104289c422e0
Object
18
Constant function Object at 104289c422e0
Object
19
GuardObjectIdentity ← Constant#17, Constant#18
Object
20
Constant function keys at 104289c42468
Object
21
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
22
Constant 0x1
Int32
23
Constant function keys at 104289c42468
Object
24
GuardSpecificFunction ← Constant#20, Constant#23
Object
25
Unbox LoadFixedSlot#21 to Object (fallible)
Object
26
GuardIsNotProxy ← Unbox#25
Object
27
ObjectKeys ← GuardIsNotProxy#26
Object
28
GuardShape ← ObjectKeys#27
Object
29
Constant object 104289c3e088 (Array)
Object
30
Constant function map (self-hosted:163) at 104289c47920
Object
31
Constant function complex5/< (-e:22) at 104289c63e08
Object
32
Lambda ← NewCallObject#8, Constant#31
Object
33
Constant 0x1
Int32
34
Constant function map (self-hosted:163) at 104289c47920
Object
35
GuardSpecificFunction ← Constant#30, Constant#34
Object
36
Goto → block 1
Block 1
37
Constant undefined
Undefined
38
Constant function ToObject at 104289c6c740
Object
39
DebugCheckSelfHosted ← Constant#38
Value
40
Constant undefined
Undefined
41
Constant 0x1
Int32
42
Constant function ToLength at 104289c6c778
Object
43
DebugCheckSelfHosted ← Constant#42
Value
44
Constant undefined
Undefined
45
GuardShape ← ObjectKeys#27
Object
46
Elements ← GuardShape#45
Elements
47
ArrayLength ← Elements#46
Int32
48
Constant 0x1
Int32
49
Constant 0x0
Int32
50
MinMax ← ArrayLength#47, Constant#49 (max)
Int32
51
Constant 0x1
Int32
52
Constant 0x0
Int32
53
Compare ← Constant#51, Constant#52 StrictEq
Bool
54
Test ← Compare#53 → block 2, block 3
1
0
Block 2
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x37
Int32
59
Constant 0x0
Int32
60
Constant string 104289c2e080
String
61
Bail
191
Unreachable
Block 3
64
Constant function IsCallable at 104289c6c7b0
Object
65
DebugCheckSelfHosted ← Constant#64
Value
66
Constant undefined
Undefined
67
Constant 0x1
Int32
68
IsCallable ← Lambda#32
Bool
69
Test ← IsCallable#68 → block 5, block 4
1
0
Block 4
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0xc
Int32
74
CallGetIntrinsicValue
Value
75
DebugCheckSelfHosted ← CallGetIntrinsicValue#74
Value
76
Constant undefined
Undefined
77
Constant 0x0
Int32
78
Bail
190
Unreachable
Block 5
83
Constant 0x1
Int32
84
Constant 0x1
Int32
85
Compare ← Constant#83, Constant#84 Gt
Bool
86
Test ← Compare#85 → block 6, block 7
1
0
Block 6
87
Constant 0x1
Int32
88
GetInlinedArgument ← Constant#87, Lambda#32
Value
89
Goto → block 8
Block 7
90
Constant undefined
Undefined
91
Goto → block 8
Block 8
92
Phi ← Constant#90, GetInlinedArgument#88
Value
93
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
94
DebugCheckSelfHosted ← Constant#93
Value
95
Constant undefined
Undefined
96
Constant 0x1
Int32
97
HasShape ← ObjectKeys#27
Bool
98
Test ← HasShape#97 → block 9, block 10
1
0
Block 9
99
Constant function std_Array at 104289c6c820
Object
100
DebugCheckSelfHosted ← Constant#99
Value
101
Constant undefined
Undefined
102
Constant 0x1
Int32
103
Unbox DebugCheckSelfHosted#100 to Object (fallible)
Object
104
Constant function std_Array at 104289c6c820
Object
105
GuardSpecificFunction ← Unbox#103, Constant#104
Object
106
NewArrayDynamicLength ← MinMax#50
Object
107
Goto → block 11
Block 10
108
CallGetIntrinsicValue
Value
109
DebugCheckSelfHosted ← CallGetIntrinsicValue#108
Value
110
Constant undefined
Undefined
111
Bail
189
Unreachable
Block 11
115
Constant 0x0
Int32
127
Goto → block 12
Block 12 (loop header)
124
Phi ← Constant#115, Add#173
Value
193
Constant magic optimized-out
MagicOptimizedOut
128
InterruptCheck
129
Unbox Phi#124 to Int32 (fallible)
Int32
130
Unbox MinMax#50 to Int32 (fallible)
Int32
131
Compare ← Unbox#129, Unbox#130 Lt
Bool
132
Test ← Compare#131 → block 13, block 19
1
0
Block 13
198
Constant magic optimized-out
MagicOptimizedOut
133
Unbox ObjectKeys#27 to Object (fallible)
Object
134
Unbox Phi#124 to Int32 (fallible)
Int32
135
GuardShape ← Unbox#133
Object
136
Elements ← GuardShape#135
Elements
137
InitializedLength ← Elements#136
Int32
138
BoundsCheck ← Unbox#134, InitializedLength#137
Int32
139
SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137
Int32
140
GuardElementNotHole ← Elements#136, SpectreMaskIndex#139
141
Constant true
Bool
142
Test ← Constant#141 → block 15, block 14
1
0
Block 14 (split edge)
195
Constant magic optimized-out
MagicOptimizedOut
192
Goto → block 18
Block 15
197
Constant magic optimized-out
MagicOptimizedOut
143
Unbox ObjectKeys#27 to Object (fallible)
Object
144
Unbox Phi#124 to Int32 (fallible)
Int32
145
GuardShape ← Unbox#143
Object
146
Elements ← GuardShape#145
Elements
147
InitializedLength ← Elements#146
Int32
148
BoundsCheck ← Unbox#144, InitializedLength#147
Int32
149
SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147
Int32
150
GuardElementsArePacked ← Elements#146
151
LoadElement ← Elements#146, SpectreMaskIndex#149
Value
152
Constant 0x3
Int32
153
Unbox Lambda#32 to Object (fallible)
Object
154
GuardToFunction ← Unbox#153
Object
155
GuardFunctionScript ← GuardToFunction#154
Object
156
Goto → block 16
Block 16
157
Constant undefined
Undefined
158
FunctionEnvironment ← GuardFunctionScript#155
Object
159
LoadFixedSlot ← FunctionEnvironment#158 (slot 2)
Value
160
Unbox LoadFixedSlot#159 to Object (fallible)
Object
161
MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151
Value
163
Goto → block 17
Block 17
196
Constant magic optimized-out
MagicOptimizedOut
164
Unbox NewArrayDynamicLength#106 to Object (fallible)
Object
165
Unbox Phi#124 to Int32 (fallible)
Int32
166
GuardShape ← Unbox#164
Object
167
Elements ← GuardShape#166
Elements
168
StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161
169
Goto → block 18
Block 18 (backedge)
194
Constant magic optimized-out
MagicOptimizedOut
171
Unbox Phi#124 to Int32 (fallible)
Int32
172
Constant 0x1
Int32
173
Add ← Unbox#171, Constant#172 [int32]
Int32
174
Goto → block 12
Block 19
177
Unbox NewArrayDynamicLength#106 to Object (fallible)
Object
178
GuardShape ← Unbox#177
Object
179
Constant object 104289c3e088 (Array)
Object
180
Constant function reduce (self-hosted:205) at 104289c479c0
Object
181
Constant function complex5/< (-e:22) at 104289c63e40
Object
182
Lambda ← NewCallObject#8, Constant#181
Object
183
Constant 0x0
Int32
184
Constant 0x2
Int32
185
Constant function reduce (self-hosted:205) at 104289c479c0
Object
186
GuardSpecificFunction ← Constant#180, Constant#185
Object
187
Call ← GuardSpecificFunction#186, NewArrayDynamicLength#106, Lambda#182, Constant#183
Value
188
Return ← Call#187
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
199
Box ← FunctionEnvironment#6
Value
9
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#199
200
Box ← Callee#5
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#200
11
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
12
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
13
PostWriteBarrier ← NewCallObject#8, Parameter#1
14
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
15
Constant object 104289c3f040 (LexicalEnvironment)
Object
16
Constant object 104289c3e030 (global)
Object
17
Constant function Object at 104289c422e0
Object
18
Constant function Object at 104289c422e0
Object
19
GuardObjectIdentity ← Constant#17, Constant#18
Object
20
Constant function keys at 104289c42468
Object
21
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
22
Constant 0x1
Int32
23
Constant function keys at 104289c42468
Object
24
GuardSpecificFunction ← Constant#20, Constant#23
Object
25
Unbox LoadFixedSlot#21 to Object (fallible)
Object
26
GuardIsNotProxy ← Unbox#25
Object
27
ObjectKeys ← GuardIsNotProxy#26
Object
28
GuardShape ← ObjectKeys#27
Object
29
Constant object 104289c3e088 (Array)
Object
30
Constant function map (self-hosted:163) at 104289c47920
Object
31
Constant function complex5/< (-e:22) at 104289c63e08
Object
32
Lambda ← NewCallObject#8, Constant#31
Object
33
Constant 0x1
Int32
34
Constant function map (self-hosted:163) at 104289c47920
Object
35
GuardSpecificFunction ← Constant#30, Constant#34
Object
36
Goto → block 1
Block 1
37
Constant undefined
Undefined
38
Constant function ToObject at 104289c6c740
Object
201
Box ← Constant#38
Value
39
DebugCheckSelfHosted ← Box#201
Value
40
Constant undefined
Undefined
41
Constant 0x1
Int32
42
Constant function ToLength at 104289c6c778
Object
202
Box ← Constant#42
Value
43
DebugCheckSelfHosted ← Box#202
Value
44
Constant undefined
Undefined
45
GuardShape ← ObjectKeys#27
Object
46
Elements ← GuardShape#45
Elements
47
ArrayLength ← Elements#46
Int32
48
Constant 0x1
Int32
49
Constant 0x0
Int32
50
MinMax ← ArrayLength#47, Constant#49 (max)
Int32
51
Constant 0x1
Int32
52
Constant 0x0
Int32
53
Compare ← Constant#51, Constant#52 StrictEq
Bool
54
Test ← Compare#53 → block 2, block 3
1
0
Block 2
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x37
Int32
59
Constant 0x0
Int32
60
Constant string 104289c2e080
String
61
Bail
191
Unreachable
Block 3
64
Constant function IsCallable at 104289c6c7b0
Object
203
Box ← Constant#64
Value
65
DebugCheckSelfHosted ← Box#203
Value
66
Constant undefined
Undefined
67
Constant 0x1
Int32
68
IsCallable ← Lambda#32
Bool
69
Test ← IsCallable#68 → block 5, block 4
1
0
Block 4
70
CallGetIntrinsicValue
Value
71
DebugCheckSelfHosted ← CallGetIntrinsicValue#70
Value
72
Constant undefined
Undefined
73
Constant 0xc
Int32
74
CallGetIntrinsicValue
Value
75
DebugCheckSelfHosted ← CallGetIntrinsicValue#74
Value
76
Constant undefined
Undefined
77
Constant 0x0
Int32
78
Bail
190
Unreachable
Block 5
83
Constant 0x1
Int32
84
Constant 0x1
Int32
85
Compare ← Constant#83, Constant#84 Gt
Bool
86
Test ← Compare#85 → block 6, block 7
1
0
Block 6
87
Constant 0x1
Int32
88
GetInlinedArgument ← Constant#87, Lambda#32
Value
89
Goto → block 8
Block 7
90
Constant undefined
Undefined
204
Box ← Constant#90
Value
91
Goto → block 8
Block 8
92
Phi ← Box#204, GetInlinedArgument#88
Value
93
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
205
Box ← Constant#93
Value
94
DebugCheckSelfHosted ← Box#205
Value
95
Constant undefined
Undefined
96
Constant 0x1
Int32
97
HasShape ← ObjectKeys#27
Bool
98
Test ← HasShape#97 → block 9, block 10
1
0
Block 9
99
Constant function std_Array at 104289c6c820
Object
206
Box ← Constant#99
Value
100
DebugCheckSelfHosted ← Box#206
Value
101
Constant undefined
Undefined
102
Constant 0x1
Int32
103
Unbox DebugCheckSelfHosted#100 to Object (fallible)
Object
104
Constant function std_Array at 104289c6c820
Object
105
GuardSpecificFunction ← Unbox#103, Constant#104
Object
106
NewArrayDynamicLength ← MinMax#50
Object
107
Goto → block 11
Block 10
108
CallGetIntrinsicValue
Value
109
DebugCheckSelfHosted ← CallGetIntrinsicValue#108
Value
110
Constant undefined
Undefined
111
Bail
189
Unreachable
Block 11
115
Constant 0x0
Int32
127
Goto → block 12
Block 12 (loop header)
124
Phi ← Constant#115, Add#173
Int32
193
Constant magic optimized-out
MagicOptimizedOut
128
InterruptCheck
207
Box ← Phi#124
Value
129
Unbox Box#207 to Int32 (fallible)
Int32
208
Box ← MinMax#50
Value
130
Unbox Box#208 to Int32 (fallible)
Int32
131
Compare ← Unbox#129, Unbox#130 Lt
Bool
132
Test ← Compare#131 → block 13, block 19
1
0
Block 13
198
Constant magic optimized-out
MagicOptimizedOut
209
Box ← ObjectKeys#27
Value
133
Unbox Box#209 to Object (fallible)
Object
210
Box ← Phi#124
Value
134
Unbox Box#210 to Int32 (fallible)
Int32
135
GuardShape ← Unbox#133
Object
136
Elements ← GuardShape#135
Elements
137
InitializedLength ← Elements#136
Int32
138
BoundsCheck ← Unbox#134, InitializedLength#137
Int32
139
SpectreMaskIndex ← BoundsCheck#138, InitializedLength#137
Int32
140
GuardElementNotHole ← Elements#136, SpectreMaskIndex#139
141
Constant true
Bool
142
Test ← Constant#141 → block 15, block 14
1
0
Block 14 (split edge)
195
Constant magic optimized-out
MagicOptimizedOut
192
Goto → block 18
Block 15
197
Constant magic optimized-out
MagicOptimizedOut
211
Box ← ObjectKeys#27
Value
143
Unbox Box#211 to Object (fallible)
Object
212
Box ← Phi#124
Value
144
Unbox Box#212 to Int32 (fallible)
Int32
145
GuardShape ← Unbox#143
Object
146
Elements ← GuardShape#145
Elements
147
InitializedLength ← Elements#146
Int32
148
BoundsCheck ← Unbox#144, InitializedLength#147
Int32
149
SpectreMaskIndex ← BoundsCheck#148, InitializedLength#147
Int32
150
GuardElementsArePacked ← Elements#146
151
LoadElement ← Elements#146, SpectreMaskIndex#149
Value
152
Constant 0x3
Int32
213
Box ← Lambda#32
Value
153
Unbox Box#213 to Object (fallible)
Object
154
GuardToFunction ← Unbox#153
Object
155
GuardFunctionScript ← GuardToFunction#154
Object
156
Goto → block 16
Block 16
157
Constant undefined
Undefined
158
FunctionEnvironment ← GuardFunctionScript#155
Object
159
LoadFixedSlot ← FunctionEnvironment#158 (slot 2)
Value
160
Unbox LoadFixedSlot#159 to Object (fallible)
Object
161
MegamorphicLoadSlotByValue ← Unbox#160, LoadElement#151
Value
163
Goto → block 17
Block 17
196
Constant magic optimized-out
MagicOptimizedOut
214
Box ← NewArrayDynamicLength#106
Value
164
Unbox Box#214 to Object (fallible)
Object
215
Box ← Phi#124
Value
165
Unbox Box#215 to Int32 (fallible)
Int32
166
GuardShape ← Unbox#164
Object
167
Elements ← GuardShape#166
Elements
168
StoreElementHole ← GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161
169
Goto → block 18
Block 18 (backedge)
194
Constant magic optimized-out
MagicOptimizedOut
216
Box ← Phi#124
Value
171
Unbox Box#216 to Int32 (fallible)
Int32
172
Constant 0x1
Int32
173
Add ← Unbox#171, Constant#172 [int32]
Int32
174
Goto → block 12
Block 19
217
Box ← NewArrayDynamicLength#106
Value
177
Unbox Box#217 to Object (fallible)
Object
178
GuardShape ← Unbox#177
Object
179
Constant object 104289c3e088 (Array)
Object
180
Constant function reduce (self-hosted:205) at 104289c479c0
Object
181
Constant function complex5/< (-e:22) at 104289c63e40
Object
182
Lambda ← NewCallObject#8, Constant#181
Object
183
Constant 0x0
Int32
184
Constant 0x2
Int32
185
Constant function reduce (self-hosted:205) at 104289c479c0
Object
186
GuardSpecificFunction ← Constant#180, Constant#185
Object
187
Call ← GuardSpecificFunction#186, NewArrayDynamicLength#106, Lambda#182, Constant#183
Value
188
Return ← Call#187
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
15
PostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
17
Constant object 104289c3f040 (LexicalEnvironment)
Object
18
Constant object 104289c3e030 (global)
Object
19
Constant function Object at 104289c422e0
Object
20
Constant function Object at 104289c422e0
Object
21
GuardObjectIdentity ← Constant#19, Constant#20
Object
22
Constant function keys at 104289c42468
Object
23
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
24
Constant 0x1
Int32
25
Constant function keys at 104289c42468
Object
26
GuardSpecificFunction ← Constant#22, Constant#25
Object
27
Unbox LoadFixedSlot#23 to Object (fallible)
Object
28
GuardIsNotProxy ← Unbox#27
Object
29
ObjectKeys ← GuardIsNotProxy#28
Object
30
GuardShape ← ObjectKeys#29
Object
31
Constant object 104289c3e088 (Array)
Object
32
Constant function map (self-hosted:163) at 104289c47920
Object
33
Constant function complex5/< (-e:22) at 104289c63e08
Object
34
Lambda ← NewCallObject#8, Constant#33
Object
35
Constant 0x1
Int32
36
Constant function map (self-hosted:163) at 104289c47920
Object
37
GuardSpecificFunction ← Constant#32, Constant#36
Object
38
Goto → block 1
Block 1
39
Constant undefined
Undefined
40
Constant function ToObject at 104289c6c740
Object
41
Box ← Constant#40
Value
42
DebugCheckSelfHosted ← Box#41
Value
43
Constant undefined
Undefined
44
Constant 0x1
Int32
45
Constant function ToLength at 104289c6c778
Object
46
Box ← Constant#45
Value
47
DebugCheckSelfHosted ← Box#46
Value
48
Constant undefined
Undefined
49
GuardShape ← ObjectKeys#29
Object
50
Elements ← GuardShape#49
Elements
51
ArrayLength ← Elements#50
Int32
52
Constant 0x1
Int32
53
Constant 0x0
Int32
54
MinMax ← ArrayLength#51, Constant#53 (max)
Int32
55
Constant 0x1
Int32
56
Constant 0x0
Int32
57
Compare ← Constant#55, Constant#56 StrictEq
Bool
58
Test ← Compare#57 → block 2, block 3
1
0
Block 2
59
CallGetIntrinsicValue
Value
60
DebugCheckSelfHosted ← CallGetIntrinsicValue#59
Value
61
Constant undefined
Undefined
62
Constant 0x37
Int32
63
Constant 0x0
Int32
64
Constant string 104289c2e080
String
65
Bail
66
Unreachable
Block 3
67
Constant function IsCallable at 104289c6c7b0
Object
68
Box ← Constant#67
Value
69
DebugCheckSelfHosted ← Box#68
Value
70
Constant undefined
Undefined
71
Constant 0x1
Int32
72
IsCallable ← Lambda#34
Bool
73
Test ← IsCallable#72 → block 5, block 4
1
0
Block 4
74
CallGetIntrinsicValue
Value
75
DebugCheckSelfHosted ← CallGetIntrinsicValue#74
Value
76
Constant undefined
Undefined
77
Constant 0xc
Int32
78
CallGetIntrinsicValue
Value
79
DebugCheckSelfHosted ← CallGetIntrinsicValue#78
Value
80
Constant undefined
Undefined
81
Constant 0x0
Int32
82
Bail
83
Unreachable
Block 5
84
Constant 0x1
Int32
85
Constant 0x1
Int32
86
Compare ← Constant#84, Constant#85 Gt
Bool
87
Test ← Compare#86 → block 6, block 7
1
0
Block 6
88
Constant 0x1
Int32
89
GetInlinedArgument ← Constant#88, Lambda#34
Value
90
Goto → block 8
Block 7
91
Constant undefined
Undefined
92
Box ← Constant#91
Value
93
Goto → block 8
Block 8
94
Phi ← Box#92, GetInlinedArgument#89
Value
95
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
96
Box ← Constant#95
Value
97
DebugCheckSelfHosted ← Box#96
Value
98
Constant undefined
Undefined
99
Constant 0x1
Int32
100
HasShape ← ObjectKeys#29
Bool
101
Test ← HasShape#100 → block 9, block 10
1
0
Block 9
102
Constant function std_Array at 104289c6c820
Object
103
Box ← Constant#102
Value
104
DebugCheckSelfHosted ← Box#103
Value
105
Constant undefined
Undefined
106
Constant 0x1
Int32
107
Unbox DebugCheckSelfHosted#104 to Object (fallible)
Object
108
Constant function std_Array at 104289c6c820
Object
109
GuardSpecificFunction ← Unbox#107, Constant#108
Object
110
NewArrayDynamicLength ← MinMax#54
Object
111
Goto → block 11
Block 10
112
CallGetIntrinsicValue
Value
113
DebugCheckSelfHosted ← CallGetIntrinsicValue#112
Value
114
Constant undefined
Undefined
115
Bail
116
Unreachable
Block 11
117
Constant 0x0
Int32
118
Goto → block 12
Block 12 (loop header)
119
Phi ← Constant#117, Add#180
Int32
120
Constant magic optimized-out
MagicOptimizedOut
121
InterruptCheck
122
Box ← Phi#119
Value
123
Unbox Box#122 to Int32 (fallible)
Int32
124
Box ← MinMax#54
Value
125
Unbox Box#124 to Int32 (fallible)
Int32
126
Compare ← Unbox#123, Unbox#125 Lt
Bool
127
Test ← Compare#126 → block 13, block 19
1
0
Block 13
128
Constant magic optimized-out
MagicOptimizedOut
129
Box ← ObjectKeys#29
Value
130
Unbox Box#129 to Object (fallible)
Object
131
Box ← Phi#119
Value
132
Unbox Box#131 to Int32 (fallible)
Int32
133
GuardShape ← Unbox#130
Object
134
Elements ← GuardShape#133
Elements
135
InitializedLength ← Elements#134
Int32
136
BoundsCheck ← Unbox#132, InitializedLength#135
Int32
137
SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135
Int32
138
GuardElementNotHole ← Elements#134, SpectreMaskIndex#137
139
Constant true
Bool
140
Test ← Constant#139 → block 15, block 14
1
0
Block 14 (split edge)
141
Constant magic optimized-out
MagicOptimizedOut
142
Goto → block 18
Block 15
143
Constant magic optimized-out
MagicOptimizedOut
144
Box ← ObjectKeys#29
Value
145
Unbox Box#144 to Object (fallible)
Object
146
Box ← Phi#119
Value
147
Unbox Box#146 to Int32 (fallible)
Int32
148
GuardShape ← Unbox#145
Object
149
Elements ← GuardShape#148
Elements
150
InitializedLength ← Elements#149
Int32
151
BoundsCheck ← Unbox#147, InitializedLength#150
Int32
152
SpectreMaskIndex ← BoundsCheck#151, InitializedLength#150
Int32
153
GuardElementsArePacked ← Elements#149
154
LoadElement ← Elements#149, SpectreMaskIndex#152
Value
155
Constant 0x3
Int32
156
Box ← Lambda#34
Value
157
Unbox Box#156 to Object (fallible)
Object
158
GuardToFunction ← Unbox#157
Object
159
GuardFunctionScript ← GuardToFunction#158
Object
160
Goto → block 16
Block 16
161
Constant undefined
Undefined
162
FunctionEnvironment ← GuardFunctionScript#159
Object
163
LoadFixedSlot ← FunctionEnvironment#162 (slot 2)
Value
164
Unbox LoadFixedSlot#163 to Object (fallible)
Object
165
MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154
Value
166
Goto → block 17
Block 17
167
Constant magic optimized-out
MagicOptimizedOut
168
Box ← NewArrayDynamicLength#110
Value
169
Unbox Box#168 to Object (fallible)
Object
170
Box ← Phi#119
Value
171
Unbox Box#170 to Int32 (fallible)
Int32
172
GuardShape ← Unbox#169
Object
173
Elements ← GuardShape#172
Elements
174
StoreElementHole ← GuardShape#172, Elements#173, Unbox#171, MegamorphicLoadSlotByValue#165
175
Goto → block 18
Block 18 (backedge)
176
Constant magic optimized-out
MagicOptimizedOut
177
Box ← Phi#119
Value
178
Unbox Box#177 to Int32 (fallible)
Int32
179
Constant 0x1
Int32
180
Add ← Unbox#178, Constant#179 [int32]
Int32
181
Goto → block 12
Block 19
182
Box ← NewArrayDynamicLength#110
Value
183
Unbox Box#182 to Object (fallible)
Object
184
GuardShape ← Unbox#183
Object
185
Constant object 104289c3e088 (Array)
Object
186
Constant function reduce (self-hosted:205) at 104289c479c0
Object
187
Constant function complex5/< (-e:22) at 104289c63e40
Object
188
Lambda ← NewCallObject#8, Constant#187
Object
189
Constant 0x0
Int32
190
Constant 0x2
Int32
191
Constant function reduce (self-hosted:205) at 104289c479c0
Object
192
GuardSpecificFunction ← Constant#186, Constant#191
Object
193
Call ← GuardSpecificFunction#192, NewArrayDynamicLength#110, Lambda#188, Constant#189
Value
194
Return ← Call#193
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
15
PostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
17
Constant object 104289c3f040 (LexicalEnvironment)
Object
18
Constant object 104289c3e030 (global)
Object
19
Constant function Object at 104289c422e0
Object
20
Constant function Object at 104289c422e0
Object
21
GuardObjectIdentity ← Constant#19, Constant#20
Object
22
Constant function keys at 104289c42468
Object
23
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
24
Constant 0x1
Int32
25
Constant function keys at 104289c42468
Object
26
GuardSpecificFunction ← Constant#22, Constant#25
Object
27
Unbox LoadFixedSlot#23 to Object (fallible)
Object
28
GuardIsNotProxy ← Unbox#27
Object
29
ObjectKeys ← GuardIsNotProxy#28
Object
30
GuardShape ← ObjectKeys#29
Object
31
Constant object 104289c3e088 (Array)
Object
32
Constant function map (self-hosted:163) at 104289c47920
Object
33
Constant function complex5/< (-e:22) at 104289c63e08
Object
34
Lambda ← NewCallObject#8, Constant#33
Object
35
Constant 0x1
Int32
36
Constant function map (self-hosted:163) at 104289c47920
Object
37
GuardSpecificFunction ← Constant#32, Constant#36
Object
38
Goto → block 1
Block 1
39
Constant undefined
Undefined
40
Constant function ToObject at 104289c6c740
Object
41
Box ← Constant#40
Value
42
DebugCheckSelfHosted ← Box#41
Value
43
Constant undefined
Undefined
44
Constant 0x1
Int32
45
Constant function ToLength at 104289c6c778
Object
46
Box ← Constant#45
Value
47
DebugCheckSelfHosted ← Box#46
Value
48
Constant undefined
Undefined
49
GuardShape ← ObjectKeys#29
Object
50
Elements ← GuardShape#49
Elements
51
ArrayLength ← Elements#50
Int32
52
Constant 0x1
Int32
53
Constant 0x0
Int32
54
MinMax ← ArrayLength#51, Constant#53 (max)
Int32
55
Constant 0x1
Int32
56
Constant 0x0
Int32
57
Compare ← Constant#55, Constant#56 StrictEq
Bool
58
Test ← Compare#57 → block 2, block 3
1
0
Block 2
59
CallGetIntrinsicValue
Value
60
DebugCheckSelfHosted ← CallGetIntrinsicValue#59
Value
61
Constant undefined
Undefined
62
Constant 0x37
Int32
63
Constant 0x0
Int32
64
Constant string 104289c2e080
String
65
Bail
66
Unreachable
Block 3
67
Constant function IsCallable at 104289c6c7b0
Object
68
Box ← Constant#67
Value
69
DebugCheckSelfHosted ← Box#68
Value
70
Constant undefined
Undefined
71
Constant 0x1
Int32
72
IsCallable ← Lambda#34
Bool
73
Test ← IsCallable#72 → block 5, block 4
1
0
Block 4
74
CallGetIntrinsicValue
Value
75
DebugCheckSelfHosted ← CallGetIntrinsicValue#74
Value
76
Constant undefined
Undefined
77
Constant 0xc
Int32
78
CallGetIntrinsicValue
Value
79
DebugCheckSelfHosted ← CallGetIntrinsicValue#78
Value
80
Constant undefined
Undefined
81
Constant 0x0
Int32
82
Bail
83
Unreachable
Block 5
84
Constant 0x1
Int32
85
Constant 0x1
Int32
86
Compare ← Constant#84, Constant#85 Gt
Bool
87
Test ← Compare#86 → block 6, block 7
1
0
Block 6
88
Constant 0x1
Int32
89
GetInlinedArgument ← Constant#88, Lambda#34
Value
90
Goto → block 8
Block 7
91
Constant undefined
Undefined
92
Box ← Constant#91
Value
93
Goto → block 8
Block 8
94
Phi ← Box#92, GetInlinedArgument#89
Value
95
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
96
Box ← Constant#95
Value
97
DebugCheckSelfHosted ← Box#96
Value
98
Constant undefined
Undefined
99
Constant 0x1
Int32
100
HasShape ← ObjectKeys#29
Bool
101
Test ← HasShape#100 → block 9, block 10
1
0
Block 9
102
Constant function std_Array at 104289c6c820
Object
103
Box ← Constant#102
Value
104
DebugCheckSelfHosted ← Box#103
Value
105
Constant undefined
Undefined
106
Constant 0x1
Int32
107
Unbox DebugCheckSelfHosted#104 to Object (fallible)
Object
108
Constant function std_Array at 104289c6c820
Object
109
GuardSpecificFunction ← Unbox#107, Constant#108
Object
110
NewArrayDynamicLength ← MinMax#54
Object
111
Goto → block 11
Block 10
112
CallGetIntrinsicValue
Value
113
DebugCheckSelfHosted ← CallGetIntrinsicValue#112
Value
114
Constant undefined
Undefined
115
Bail
116
Unreachable
Block 11
117
Constant 0x0
Int32
118
Goto → block 12
Block 12 (loop header)
119
Phi ← Constant#117, Add#180
Int32
120
Constant magic optimized-out
MagicOptimizedOut
121
InterruptCheck
122
Box ← Phi#119
Value
123
Unbox Box#122 to Int32 (fallible)
Int32
124
Box ← MinMax#54
Value
125
Unbox Box#124 to Int32 (fallible)
Int32
126
Compare ← Unbox#123, Unbox#125 Lt
Bool
127
Test ← Compare#126 → block 13, block 19
1
0
Block 13
128
Constant magic optimized-out
MagicOptimizedOut
129
Box ← ObjectKeys#29
Value
130
Unbox Box#129 to Object (fallible)
Object
131
Box ← Phi#119
Value
132
Unbox Box#131 to Int32 (fallible)
Int32
133
GuardShape ← Unbox#130
Object
134
Elements ← GuardShape#133
Elements
135
InitializedLength ← Elements#134
Int32
136
BoundsCheck ← Unbox#132, InitializedLength#135
Int32
137
SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135
Int32
138
GuardElementNotHole ← Elements#134, SpectreMaskIndex#137
139
Constant true
Bool
140
Test ← Constant#139 → block 15, block 14
1
0
Block 14 (split edge)
141
Constant magic optimized-out
MagicOptimizedOut
142
Goto → block 18
Block 15
143
Constant magic optimized-out
MagicOptimizedOut
144
Box ← ObjectKeys#29
Value
145
Unbox Box#144 to Object (fallible)
Object
146
Box ← Phi#119
Value
147
Unbox Box#146 to Int32 (fallible)
Int32
148
GuardShape ← Unbox#145
Object
149
Elements ← GuardShape#148
Elements
150
InitializedLength ← Elements#149
Int32
151
BoundsCheck ← Unbox#147, InitializedLength#150
Int32
152
SpectreMaskIndex ← BoundsCheck#151, InitializedLength#150
Int32
153
GuardElementsArePacked ← Elements#149
154
LoadElement ← Elements#149, SpectreMaskIndex#152
Value
155
Constant 0x3
Int32
156
Box ← Lambda#34
Value
157
Unbox Box#156 to Object (fallible)
Object
158
GuardToFunction ← Unbox#157
Object
159
GuardFunctionScript ← GuardToFunction#158
Object
160
Goto → block 16
Block 16
161
Constant undefined
Undefined
162
FunctionEnvironment ← GuardFunctionScript#159
Object
163
LoadFixedSlot ← FunctionEnvironment#162 (slot 2)
Value
164
Unbox LoadFixedSlot#163 to Object (fallible)
Object
165
MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154
Value
166
Goto → block 17
Block 17
167
Constant magic optimized-out
MagicOptimizedOut
168
Box ← NewArrayDynamicLength#110
Value
169
Unbox Box#168 to Object (fallible)
Object
170
Box ← Phi#119
Value
171
Unbox Box#170 to Int32 (fallible)
Int32
172
GuardShape ← Unbox#169
Object
173
Elements ← GuardShape#172
Elements
174
StoreElementHole ← GuardShape#172, Elements#173, Unbox#171, MegamorphicLoadSlotByValue#165
175
Goto → block 18
Block 18 (backedge)
176
Constant magic optimized-out
MagicOptimizedOut
177
Box ← Phi#119
Value
178
Unbox Box#177 to Int32 (fallible)
Int32
179
Constant 0x1
Int32
180
Add ← Unbox#178, Constant#179 [int32]
Int32
181
Goto → block 12
Block 19
182
Box ← NewArrayDynamicLength#110
Value
183
Unbox Box#182 to Object (fallible)
Object
184
GuardShape ← Unbox#183
Object
185
Constant object 104289c3e088 (Array)
Object
186
Constant function reduce (self-hosted:205) at 104289c479c0
Object
187
Constant function complex5/< (-e:22) at 104289c63e40
Object
188
Lambda ← NewCallObject#8, Constant#187
Object
189
Constant 0x0
Int32
190
Constant 0x2
Int32
191
Constant function reduce (self-hosted:205) at 104289c479c0
Object
192
GuardSpecificFunction ← Constant#186, Constant#191
Object
193
Call ← GuardSpecificFunction#192, NewArrayDynamicLength#110, Lambda#188, Constant#189
Value
194
Return ← Call#193
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
15
PostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
27
Unbox Parameter#1 to Object (fallible)
Object
28
GuardIsNotProxy ← Unbox#27
Object
29
ObjectKeys ← GuardIsNotProxy#28
Object
30
GuardShape ← ObjectKeys#29
Object
32
Constant function map (self-hosted:163) at 104289c47920
Object
33
Constant function complex5/< (-e:22) at 104289c63e08
Object
34
Lambda ← NewCallObject#8, Constant#33
Object
38
Goto → block 1
Block 1
40
Constant function ToObject at 104289c6c740
Object
41
Box ← Constant#40
Value
42
DebugCheckSelfHosted ← Box#41
Value
45
Constant function ToLength at 104289c6c778
Object
46
Box ← Constant#45
Value
47
DebugCheckSelfHosted ← Box#46
Value
49
GuardShape ← ObjectKeys#29
Object
50
Elements ← GuardShape#49
Elements
51
ArrayLength ← Elements#50
Int32
219
Goto → block 2
Block 2
67
Constant function IsCallable at 104289c6c7b0
Object
68
Box ← Constant#67
Value
69
DebugCheckSelfHosted ← Box#68
Value
220
AssertClass ← Lambda#34
222
Goto → block 3
Block 3
224
Goto → block 4
Block 4
92
Box ← Constant#2
Value
93
Goto → block 5
Block 5
95
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
96
Box ← Constant#95
Value
97
DebugCheckSelfHosted ← Box#96
Value
100
HasShape ← ObjectKeys#29
Bool
101
Test ← HasShape#100 → block 6, block 7
1
0
Block 6
102
Constant function std_Array at 104289c6c820
Object
103
Box ← Constant#102
Value
104
DebugCheckSelfHosted ← Box#103
Value
107
Unbox DebugCheckSelfHosted#104 to Object (fallible)
Object
109
GuardSpecificFunction ← Unbox#107, Constant#102
Object
110
NewArrayDynamicLength ← ArrayLength#51
Object
111
Goto → block 8
Block 7
112
CallGetIntrinsicValue
Value
113
DebugCheckSelfHosted ← CallGetIntrinsicValue#112
Value
115
Bail
116
Unreachable
Block 8
117
Constant 0x0
Int32
118
Goto → block 9
Block 9 (loop header)
119
Phi ← Constant#117, Add#180
Int32
120
Constant magic optimized-out
MagicOptimizedOut
121
InterruptCheck
126
Compare ← Phi#119, ArrayLength#51 Lt
Bool
127
Test ← Compare#126 → block 10, block 15
1
0
Block 10
133
GuardShape ← ObjectKeys#29
Object
134
Elements ← GuardShape#133
Elements
135
InitializedLength ← Elements#134
Int32
136
BoundsCheck ← Phi#119, InitializedLength#135
Int32
137
SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135
Int32
138
GuardElementNotHole ← Elements#134, SpectreMaskIndex#137
225
Goto → block 11
Block 11
153
GuardElementsArePacked ← Elements#134
154
LoadElement ← Elements#134, SpectreMaskIndex#137
Value
226
AssertClass ← Lambda#34
160
Goto → block 12
Block 12
163
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
164
Unbox LoadFixedSlot#163 to Object (fallible)
Object
165
MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154
Value
166
Goto → block 13
Block 13
172
GuardShape ← NewArrayDynamicLength#110
Object
173
Elements ← GuardShape#172
Elements
174
StoreElementHole ← GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165
175
Goto → block 14
Block 14 (backedge)
179
Constant 0x1
Int32
180
Add ← Phi#119, Constant#179 [int32]
Int32
181
Goto → block 9
Block 15
184
GuardShape ← NewArrayDynamicLength#110
Object
186
Constant function reduce (self-hosted:205) at 104289c479c0
Object
187
Constant function complex5/< (-e:22) at 104289c63e40
Object
188
Lambda ← NewCallObject#8, Constant#187
Object
193
Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117
Value
194
Return ← Call#193
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
15
PostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
27
Unbox Parameter#1 to Object (fallible)
Object
28
GuardIsNotProxy ← Unbox#27
Object
29
ObjectKeys ← GuardIsNotProxy#28
Object
30
GuardShape ← ObjectKeys#29
Object
32
Constant function map (self-hosted:163) at 104289c47920
Object
33
Constant function complex5/< (-e:22) at 104289c63e08
Object
34
Lambda ← NewCallObject#8, Constant#33
Object
38
Goto → block 1
Block 1
40
Constant function ToObject at 104289c6c740
Object
41
Box ← Constant#40
Value
42
DebugCheckSelfHosted ← Box#41
Value
45
Constant function ToLength at 104289c6c778
Object
46
Box ← Constant#45
Value
47
DebugCheckSelfHosted ← Box#46
Value
49
GuardShape ← ObjectKeys#29
Object
50
Elements ← GuardShape#49
Elements
51
ArrayLength ← Elements#50
Int32
219
Goto → block 2
Block 2
67
Constant function IsCallable at 104289c6c7b0
Object
68
Box ← Constant#67
Value
69
DebugCheckSelfHosted ← Box#68
Value
220
AssertClass ← Lambda#34
222
Goto → block 3
Block 3
224
Goto → block 4
Block 4
92
Box ← Constant#2
Value
93
Goto → block 5
Block 5
95
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
96
Box ← Constant#95
Value
97
DebugCheckSelfHosted ← Box#96
Value
100
HasShape ← ObjectKeys#29
Bool
101
Test ← HasShape#100 → block 6, block 7
1
0
Block 6
102
Constant function std_Array at 104289c6c820
Object
103
Box ← Constant#102
Value
104
DebugCheckSelfHosted ← Box#103
Value
107
Unbox DebugCheckSelfHosted#104 to Object (fallible)
Object
109
GuardSpecificFunction ← Unbox#107, Constant#102
Object
110
NewArrayDynamicLength ← ArrayLength#51
Object
111
Goto → block 8
Block 7
112
CallGetIntrinsicValue
Value
113
DebugCheckSelfHosted ← CallGetIntrinsicValue#112
Value
115
Bail
116
Unreachable
Block 8
117
Constant 0x0
Int32
133
GuardShape ← ObjectKeys#29
Object
163
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
164
Unbox LoadFixedSlot#163 to Object (fallible)
Object
172
GuardShape ← NewArrayDynamicLength#110
Object
118
Goto → block 9
Block 9 (loop header)
119
Phi ← Constant#117, Add#180
Int32
120
Constant magic optimized-out
MagicOptimizedOut
121
InterruptCheck
126
Compare ← Phi#119, ArrayLength#51 Lt
Bool
127
Test ← Compare#126 → block 10, block 15
1
0
Block 10
134
Elements ← GuardShape#133
Elements
135
InitializedLength ← Elements#134
Int32
136
BoundsCheck ← Phi#119, InitializedLength#135
Int32
137
SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135
Int32
138
GuardElementNotHole ← Elements#134, SpectreMaskIndex#137
225
Goto → block 11
Block 11
153
GuardElementsArePacked ← Elements#134
154
LoadElement ← Elements#134, SpectreMaskIndex#137
Value
226
AssertClass ← Lambda#34
160
Goto → block 12
Block 12
165
MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154
Value
166
Goto → block 13
Block 13
173
Elements ← GuardShape#172
Elements
174
StoreElementHole ← GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165
175
Goto → block 14
Block 14 (backedge)
179
Constant 0x1
Int32
180
Add ← Phi#119, Constant#179 [int32]
Int32
181
Goto → block 9
Block 15
184
GuardShape ← NewArrayDynamicLength#110
Object
186
Constant function reduce (self-hosted:205) at 104289c479c0
Object
187
Constant function complex5/< (-e:22) at 104289c63e40
Object
188
Lambda ← NewCallObject#8, Constant#187
Object
193
Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117
Value
194
Return ← Call#193
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
15
PostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
27
Unbox Parameter#1 to Object (fallible)
Object
28
GuardIsNotProxy ← Unbox#27
Object
29
ObjectKeys ← GuardIsNotProxy#28
Object
30
GuardShape ← ObjectKeys#29
Object
32
Constant function map (self-hosted:163) at 104289c47920
Object
33
Constant function complex5/< (-e:22) at 104289c63e08
Object
34
Lambda ← NewCallObject#8, Constant#33
Object
38
Goto → block 1
Block 1
40
Constant function ToObject at 104289c6c740
Object
41
Box ← Constant#40
Value
42
DebugCheckSelfHosted ← Box#41
Value
45
Constant function ToLength at 104289c6c778
Object
46
Box ← Constant#45
Value
47
DebugCheckSelfHosted ← Box#46
Value
49
GuardShape ← ObjectKeys#29
Object
50
Elements ← GuardShape#49
Elements
51
ArrayLength ← Elements#50
Int32
219
Goto → block 2
Block 2
67
Constant function IsCallable at 104289c6c7b0
Object
68
Box ← Constant#67
Value
69
DebugCheckSelfHosted ← Box#68
Value
220
AssertClass ← Lambda#34
222
Goto → block 3
Block 3
224
Goto → block 4
Block 4
92
Box ← Constant#2
Value
93
Goto → block 5
Block 5
95
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
96
Box ← Constant#95
Value
97
DebugCheckSelfHosted ← Box#96
Value
100
HasShape ← ObjectKeys#29
Bool
101
Test ← HasShape#100 → block 6, block 7
1
0
Block 6
102
Constant function std_Array at 104289c6c820
Object
103
Box ← Constant#102
Value
104
DebugCheckSelfHosted ← Box#103
Value
107
Unbox DebugCheckSelfHosted#104 to Object (fallible)
Object
109
GuardSpecificFunction ← Unbox#107, Constant#102
Object
110
NewArrayDynamicLength ← ArrayLength#51
Object
111
Goto → block 8
Block 7
112
CallGetIntrinsicValue
Value
113
DebugCheckSelfHosted ← CallGetIntrinsicValue#112
Value
115
Bail
116
Unreachable
Block 8
117
Constant 0x0
Int32
133
GuardShape ← ObjectKeys#29
Object
163
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
164
Unbox LoadFixedSlot#163 to Object (fallible)
Object
172
GuardShape ← NewArrayDynamicLength#110
Object
118
Goto → block 9
Block 9 (loop header)
119
Phi ← Constant#117, Add#180
Int32
120
Constant magic optimized-out
MagicOptimizedOut
121
InterruptCheck
126
Compare ← Phi#119, ArrayLength#51 Lt
Bool
127
Test ← Compare#126 → block 10, block 15
1
0
Block 10
228
Beta ← ArrayLength#51 I[-2147483647, 2147483647]
Int32
227
Beta ← Phi#119 I[-2147483648, 2147483646]
Int32
134
Elements ← GuardShape#133
Elements
135
InitializedLength ← Elements#134
Int32
136
BoundsCheck ← Beta#227, InitializedLength#135
Int32
137
SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135
Int32
138
GuardElementNotHole ← Elements#134, SpectreMaskIndex#137
225
Goto → block 11
Block 11
153
GuardElementsArePacked ← Elements#134
154
LoadElement ← Elements#134, SpectreMaskIndex#137
Value
226
AssertClass ← Lambda#34
160
Goto → block 12
Block 12
165
MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154
Value
166
Goto → block 13
Block 13
173
Elements ← GuardShape#172
Elements
174
StoreElementHole ← GuardShape#172, Elements#173, Beta#227, MegamorphicLoadSlotByValue#165
175
Goto → block 14
Block 14 (backedge)
179
Constant 0x1
Int32
180
Add ← Beta#227, Constant#179 [int32]
Int32
181
Goto → block 9
Block 15
184
GuardShape ← NewArrayDynamicLength#110
Object
186
Constant function reduce (self-hosted:205) at 104289c479c0
Object
187
Constant function complex5/< (-e:22) at 104289c63e40
Object
188
Lambda ← NewCallObject#8, Constant#187
Object
193
Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117
Value
194
Return ← Call#193
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
15
PostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
27
Unbox Parameter#1 to Object (fallible)
Object
28
GuardIsNotProxy ← Unbox#27
Object
29
ObjectKeys ← GuardIsNotProxy#28
Object
30
GuardShape ← ObjectKeys#29
Object
32
Constant function map (self-hosted:163) at 104289c47920
Object
33
Constant function complex5/< (-e:22) at 104289c63e08
Object
34
Lambda ← NewCallObject#8, Constant#33
Object
38
Goto → block 1
Block 1
40
Constant function ToObject at 104289c6c740
Object
41
Box ← Constant#40
Value
42
DebugCheckSelfHosted ← Box#41
Value
45
Constant function ToLength at 104289c6c778
Object
46
Box ← Constant#45
Value
47
DebugCheckSelfHosted ← Box#46
Value
49
GuardShape ← ObjectKeys#29
Object
50
Elements ← GuardShape#49
Elements
51
ArrayLength ← Elements#50
I[0, 2147483647]: Int32
219
Goto → block 2
Block 2
67
Constant function IsCallable at 104289c6c7b0
Object
68
Box ← Constant#67
Value
69
DebugCheckSelfHosted ← Box#68
Value
220
AssertClass ← Lambda#34
222
Goto → block 3
Block 3
224
Goto → block 4
Block 4
92
Box ← Constant#2
Value
93
Goto → block 5
Block 5
95
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
96
Box ← Constant#95
Value
97
DebugCheckSelfHosted ← Box#96
Value
100
HasShape ← ObjectKeys#29
Bool
101
Test ← HasShape#100 → block 6, block 7
1
0
Block 6
102
Constant function std_Array at 104289c6c820
Object
103
Box ← Constant#102
Value
104
DebugCheckSelfHosted ← Box#103
Value
107
Unbox DebugCheckSelfHosted#104 to Object (fallible)
Object
109
GuardSpecificFunction ← Unbox#107, Constant#102
Object
110
NewArrayDynamicLength ← ArrayLength#51
Object
111
Goto → block 8
Block 7
112
CallGetIntrinsicValue
Value
113
DebugCheckSelfHosted ← CallGetIntrinsicValue#112
Value
115
Bail
116
Unreachable
Block 8
117
Constant 0x0
I[0, 0]: Int32
133
GuardShape ← ObjectKeys#29
Object
163
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
164
Unbox LoadFixedSlot#163 to Object (fallible)
Object
172
GuardShape ← NewArrayDynamicLength#110
Object
118
Goto → block 9
Block 9 (loop header)
119
Phi ← Constant#117, Add#180
I[0 {}, 2147483647 {[loop] #51-1}]: Int32
120
Constant magic optimized-out
MagicOptimizedOut
121
InterruptCheck
126
Compare ← Phi#119, ArrayLength#51 Lt
Bool
127
Test ← Compare#126 → block 10, block 15
1
0
Block 10
228
Beta ← ArrayLength#51 I[-2147483647, 2147483647]
I[0, 2147483647]: Int32
227
Beta ← Phi#119 I[-2147483648, 2147483646]
I[0, 2147483646]: Int32
134
Elements ← GuardShape#133
Elements
135
InitializedLength ← Elements#134
I[0, 268435453]: Int32
136
BoundsCheck ← Beta#227, InitializedLength#135
I[0, 2147483646]: Int32
137
SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135
I[0, 2147483646]: Int32
138
GuardElementNotHole ← Elements#134, SpectreMaskIndex#137
225
Goto → block 11
Block 11
153
GuardElementsArePacked ← Elements#134
154
LoadElement ← Elements#134, SpectreMaskIndex#137
Value
226
AssertClass ← Lambda#34
160
Goto → block 12
Block 12
165
MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154
Value
166
Goto → block 13
Block 13
173
Elements ← GuardShape#172
Elements
174
StoreElementHole ← GuardShape#172, Elements#173, Beta#227, MegamorphicLoadSlotByValue#165
175
Goto → block 14
Block 14 (backedge)
179
Constant 0x1
I[1, 1]: Int32
180
Add ← Beta#227, Constant#179 [int32]
I[1, 2147483647]: Int32
181
Goto → block 9
Block 15
184
GuardShape ← NewArrayDynamicLength#110
Object
186
Constant function reduce (self-hosted:205) at 104289c479c0
Object
187
Constant function complex5/< (-e:22) at 104289c63e40
Object
188
Lambda ← NewCallObject#8, Constant#187
Object
193
Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117
Value
194
Return ← Call#193
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
15
PostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
27
Unbox Parameter#1 to Object (fallible)
Object
28
GuardIsNotProxy ← Unbox#27
Object
29
ObjectKeys ← GuardIsNotProxy#28
Object
30
GuardShape ← ObjectKeys#29
Object
32
Constant function map (self-hosted:163) at 104289c47920
Object
33
Constant function complex5/< (-e:22) at 104289c63e08
Object
34
Lambda ← NewCallObject#8, Constant#33
Object
38
Goto → block 1
Block 1
40
Constant function ToObject at 104289c6c740
Object
41
Box ← Constant#40
Value
42
DebugCheckSelfHosted ← Box#41
Value
45
Constant function ToLength at 104289c6c778
Object
46
Box ← Constant#45
Value
47
DebugCheckSelfHosted ← Box#46
Value
49
GuardShape ← ObjectKeys#29
Object
50
Elements ← GuardShape#49
Elements
51
ArrayLength ← Elements#50
I[0, 2147483647]: Int32
219
Goto → block 2
Block 2
67
Constant function IsCallable at 104289c6c7b0
Object
68
Box ← Constant#67
Value
69
DebugCheckSelfHosted ← Box#68
Value
220
AssertClass ← Lambda#34
222
Goto → block 3
Block 3
224
Goto → block 4
Block 4
92
Box ← Constant#2
Value
93
Goto → block 5
Block 5
95
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
96
Box ← Constant#95
Value
97
DebugCheckSelfHosted ← Box#96
Value
100
HasShape ← ObjectKeys#29
Bool
101
Test ← HasShape#100 → block 6, block 7
1
0
Block 6
102
Constant function std_Array at 104289c6c820
Object
103
Box ← Constant#102
Value
104
DebugCheckSelfHosted ← Box#103
Value
107
Unbox DebugCheckSelfHosted#104 to Object (fallible)
Object
109
GuardSpecificFunction ← Unbox#107, Constant#102
Object
110
NewArrayDynamicLength ← ArrayLength#51
Object
111
Goto → block 8
Block 7
112
CallGetIntrinsicValue
Value
113
DebugCheckSelfHosted ← CallGetIntrinsicValue#112
Value
115
Bail
116
Unreachable
Block 8
117
Constant 0x0
I[0, 0]: Int32
133
GuardShape ← ObjectKeys#29
Object
163
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
164
Unbox LoadFixedSlot#163 to Object (fallible)
Object
172
GuardShape ← NewArrayDynamicLength#110
Object
118
Goto → block 9
Block 9 (loop header)
119
Phi ← Constant#117, Add#180
I[0 {}, 2147483647 {[loop] #51-1}]: Int32
120
Constant magic optimized-out
MagicOptimizedOut
121
InterruptCheck
126
Compare ← Phi#119, ArrayLength#51 Lt
Bool
127
Test ← Compare#126 → block 10, block 15
1
0
Block 10
134
Elements ← GuardShape#133
Elements
135
InitializedLength ← Elements#134
I[0, 268435453]: Int32
136
BoundsCheck ← Phi#119, InitializedLength#135
I[0, 2147483646]: Int32
137
SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135
I[0, 2147483646]: Int32
138
GuardElementNotHole ← Elements#134, SpectreMaskIndex#137
225
Goto → block 11
Block 11
153
GuardElementsArePacked ← Elements#134
154
LoadElement ← Elements#134, SpectreMaskIndex#137
Value
226
AssertClass ← Lambda#34
160
Goto → block 12
Block 12
165
MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154
Value
166
Goto → block 13
Block 13
173
Elements ← GuardShape#172
Elements
174
StoreElementHole ← GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165
175
Goto → block 14
Block 14 (backedge)
179
Constant 0x1
I[1, 1]: Int32
180
Add ← Phi#119, Constant#179 [int32]
I[1, 2147483647]: Int32
181
Goto → block 9
Block 15
184
GuardShape ← NewArrayDynamicLength#110
Object
186
Constant function reduce (self-hosted:205) at 104289c479c0
Object
187
Constant function complex5/< (-e:22) at 104289c63e40
Object
188
Lambda ← NewCallObject#8, Constant#187
Object
193
Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117
Value
194
Return ← Call#193
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
15
PostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
27
Unbox Parameter#1 to Object (fallible)
Object
28
GuardIsNotProxy ← Unbox#27
Object
29
ObjectKeys ← GuardIsNotProxy#28
Object
30
GuardShape ← ObjectKeys#29
Object
32
Constant function map (self-hosted:163) at 104289c47920
Object
33
Constant function complex5/< (-e:22) at 104289c63e08
Object
34
Lambda ← NewCallObject#8, Constant#33
Object
38
Goto → block 1
Block 1
40
Constant function ToObject at 104289c6c740
Object
41
Box ← Constant#40
Value
42
DebugCheckSelfHosted ← Box#41
Value
45
Constant function ToLength at 104289c6c778
Object
46
Box ← Constant#45
Value
47
DebugCheckSelfHosted ← Box#46
Value
49
GuardShape ← ObjectKeys#29
Object
50
Elements ← GuardShape#49
Elements
51
ArrayLength ← Elements#50
I[0, 2147483647]: Int32
219
Goto → block 2
Block 2
67
Constant function IsCallable at 104289c6c7b0
Object
68
Box ← Constant#67
Value
69
DebugCheckSelfHosted ← Box#68
Value
220
AssertClass ← Lambda#34
222
Goto → block 3
Block 3
224
Goto → block 4
Block 4
92
Box ← Constant#2
Value
93
Goto → block 5
Block 5
95
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
96
Box ← Constant#95
Value
97
DebugCheckSelfHosted ← Box#96
Value
100
HasShape ← ObjectKeys#29
Bool
101
Test ← HasShape#100 → block 6, block 7
1
0
Block 6
102
Constant function std_Array at 104289c6c820
Object
103
Box ← Constant#102
Value
104
DebugCheckSelfHosted ← Box#103
Value
107
Unbox DebugCheckSelfHosted#104 to Object (fallible)
Object
109
GuardSpecificFunction ← Unbox#107, Constant#102
Object
110
NewArrayDynamicLength ← ArrayLength#51
Object
111
Goto → block 8
Block 7
112
CallGetIntrinsicValue
Value
113
DebugCheckSelfHosted ← CallGetIntrinsicValue#112
Value
115
Bail
116
Unreachable
Block 8
117
Constant 0x0
I[0, 0]: Int32
133
GuardShape ← ObjectKeys#29
Object
163
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
164
Unbox LoadFixedSlot#163 to Object (fallible)
Object
172
GuardShape ← NewArrayDynamicLength#110
Object
118
Goto → block 9
Block 9 (loop header)
119
Phi ← Constant#117, Add#180
I[0 {}, 2147483647 {[loop] #51-1}]: Int32
120
Constant magic optimized-out
MagicOptimizedOut
121
InterruptCheck
126
Compare ← Phi#119, ArrayLength#51 Lt
Bool
127
Test ← Compare#126 → block 10, block 15
1
0
Block 10
134
Elements ← GuardShape#133
Elements
135
InitializedLength ← Elements#134
I[0, 268435453]: Int32
136
BoundsCheck ← Phi#119, InitializedLength#135
I[0, 2147483646]: Int32
137
SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135
I[0, 2147483646]: Int32
138
GuardElementNotHole ← Elements#134, SpectreMaskIndex#137
225
Goto → block 11
Block 11
153
GuardElementsArePacked ← Elements#134
154
LoadElement ← Elements#134, SpectreMaskIndex#137
Value
226
AssertClass ← Lambda#34
160
Goto → block 12
Block 12
165
MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154
Value
166
Goto → block 13
Block 13
173
Elements ← GuardShape#172
Elements
174
StoreElementHole ← GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165
175
Goto → block 14
Block 14 (backedge)
179
Constant 0x1
I[1, 1]: Int32
180
Add ← Phi#119, Constant#179 [int32]
I[1, 2147483647]: Int32
181
Goto → block 9
Block 15
184
GuardShape ← NewArrayDynamicLength#110
Object
186
Constant function reduce (self-hosted:205) at 104289c479c0
Object
187
Constant function complex5/< (-e:22) at 104289c63e40
Object
188
Lambda ← NewCallObject#8, Constant#187
Object
193
Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117
Value
194
Return ← Call#193
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
15
PostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
27
Unbox Parameter#1 to Object (fallible)
Object
28
GuardIsNotProxy ← Unbox#27
Object
29
ObjectKeys ← GuardIsNotProxy#28
Object
30
GuardShape ← ObjectKeys#29
Object
32
Constant function map (self-hosted:163) at 104289c47920
Object
33
Constant function complex5/< (-e:22) at 104289c63e08
Object
34
Lambda ← NewCallObject#8, Constant#33
Object
38
Goto → block 1
Block 1
40
Constant function ToObject at 104289c6c740
Object
41
Box ← Constant#40
Value
42
DebugCheckSelfHosted ← Box#41
Value
45
Constant function ToLength at 104289c6c778
Object
46
Box ← Constant#45
Value
47
DebugCheckSelfHosted ← Box#46
Value
49
GuardShape ← ObjectKeys#29
Object
50
Elements ← GuardShape#49
Elements
51
ArrayLength ← Elements#50
I[0, 2147483647]: Int32
219
Goto → block 2
Block 2
67
Constant function IsCallable at 104289c6c7b0
Object
68
Box ← Constant#67
Value
69
DebugCheckSelfHosted ← Box#68
Value
220
AssertClass ← Lambda#34
222
Goto → block 3
Block 3
224
Goto → block 4
Block 4
92
Box ← Constant#2
Value
93
Goto → block 5
Block 5
95
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
96
Box ← Constant#95
Value
97
DebugCheckSelfHosted ← Box#96
Value
100
HasShape ← ObjectKeys#29
Bool
101
Test ← HasShape#100 → block 6, block 7
1
0
Block 6
102
Constant function std_Array at 104289c6c820
Object
103
Box ← Constant#102
Value
104
DebugCheckSelfHosted ← Box#103
Value
107
Unbox DebugCheckSelfHosted#104 to Object (fallible)
Object
109
GuardSpecificFunction ← Unbox#107, Constant#102
Object
110
NewArrayDynamicLength ← ArrayLength#51
Object
111
Goto → block 8
Block 7
112
CallGetIntrinsicValue
Value
113
DebugCheckSelfHosted ← CallGetIntrinsicValue#112
Value
115
Bail
116
Unreachable
Block 8
117
Constant 0x0
I[0, 0]: Int32
133
GuardShape ← ObjectKeys#29
Object
163
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
164
Unbox LoadFixedSlot#163 to Object (fallible)
Object
172
GuardShape ← NewArrayDynamicLength#110
Object
118
Goto → block 9
Block 9 (loop header)
119
Phi ← Constant#117, Add#180
I[0 {}, 2147483647 {[loop] #51-1}]: Int32
120
Constant magic optimized-out
MagicOptimizedOut
121
InterruptCheck
126
Compare ← Phi#119, ArrayLength#51 Lt
Bool
127
Test ← Compare#126 → block 10, block 15
1
0
Block 10
134
Elements ← GuardShape#133
Elements
135
InitializedLength ← Elements#134
I[0, 268435453]: Int32
136
BoundsCheck ← Phi#119, InitializedLength#135
I[0, 2147483646]: Int32
137
SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135
I[0, 2147483646]: Int32
138
GuardElementNotHole ← Elements#134, SpectreMaskIndex#137
225
Goto → block 11
Block 11
153
GuardElementsArePacked ← Elements#134
154
LoadElement ← Elements#134, SpectreMaskIndex#137
Value
226
AssertClass ← Lambda#34
160
Goto → block 12
Block 12
165
MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154
Value
166
Goto → block 13
Block 13
173
Elements ← GuardShape#172
Elements
174
StoreElementHole ← GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165
175
Goto → block 14
Block 14 (backedge)
179
Constant 0x1
I[1, 1]: Int32
180
Add ← Phi#119, Constant#179 [int32]
I[1, 2147483647]: Int32
181
Goto → block 9
Block 15
184
GuardShape ← NewArrayDynamicLength#110
Object
186
Constant function reduce (self-hosted:205) at 104289c479c0
Object
187
Constant function complex5/< (-e:22) at 104289c63e40
Object
188
Lambda ← NewCallObject#8, Constant#187
Object
193
Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117
Value
194
Return ← Call#193
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
15
PostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
27
Unbox Parameter#1 to Object (fallible)
Object
28
GuardIsNotProxy ← Unbox#27
Object
29
ObjectKeys ← GuardIsNotProxy#28
Object
30
GuardShape ← ObjectKeys#29
Object
32
Constant function map (self-hosted:163) at 104289c47920
Object
33
Constant function complex5/< (-e:22) at 104289c63e08
Object
34
Lambda ← NewCallObject#8, Constant#33
Object
38
Goto → block 1
Block 1
40
Constant function ToObject at 104289c6c740
Object
41
Box ← Constant#40
Value
42
DebugCheckSelfHosted ← Box#41
Value
45
Constant function ToLength at 104289c6c778
Object
46
Box ← Constant#45
Value
47
DebugCheckSelfHosted ← Box#46
Value
49
GuardShape ← ObjectKeys#29
Object
50
Elements ← GuardShape#49
Elements
51
ArrayLength ← Elements#50
I[0, 2147483647]: Int32
219
Goto → block 2
Block 2
67
Constant function IsCallable at 104289c6c7b0
Object
68
Box ← Constant#67
Value
69
DebugCheckSelfHosted ← Box#68
Value
220
AssertClass ← Lambda#34
222
Goto → block 3
Block 3
224
Goto → block 4
Block 4
92
Box ← Constant#2
Value
93
Goto → block 5
Block 5
95
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
96
Box ← Constant#95
Value
97
DebugCheckSelfHosted ← Box#96
Value
100
HasShape ← ObjectKeys#29
Bool
101
Test ← HasShape#100 → block 6, block 7
1
0
Block 6
102
Constant function std_Array at 104289c6c820
Object
103
Box ← Constant#102
Value
104
DebugCheckSelfHosted ← Box#103
Value
107
Unbox DebugCheckSelfHosted#104 to Object (fallible)
Object
109
GuardSpecificFunction ← Unbox#107, Constant#102
Object
110
NewArrayDynamicLength ← ArrayLength#51
Object
111
Goto → block 8
Block 7
112
CallGetIntrinsicValue
Value
113
DebugCheckSelfHosted ← CallGetIntrinsicValue#112
Value
115
Bail
116
Unreachable
Block 8
117
Constant 0x0
I[0, 0]: Int32
133
GuardShape ← ObjectKeys#29
Object
163
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
164
Unbox LoadFixedSlot#163 to Object (fallible)
Object
172
GuardShape ← NewArrayDynamicLength#110
Object
118
Goto → block 9
Block 9 (loop header)
119
Phi ← Constant#117, Add#180
I[0 {}, 2147483647 {[loop] #51-1}]: Int32
120
Constant magic optimized-out
MagicOptimizedOut
121
InterruptCheck
126
Compare ← Phi#119, ArrayLength#51 Lt
Bool
127
Test ← Compare#126 → block 10, block 15
1
0
Block 10
134
Elements ← GuardShape#133
Elements
135
InitializedLength ← Elements#134
I[0, 268435453]: Int32
136
BoundsCheck ← Phi#119, InitializedLength#135
I[0, 2147483646]: Int32
137
SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135
I[0, 2147483646]: Int32
138
GuardElementNotHole ← Elements#134, SpectreMaskIndex#137
225
Goto → block 11
Block 11
153
GuardElementsArePacked ← Elements#134
154
LoadElement ← Elements#134, SpectreMaskIndex#137
Value
226
AssertClass ← Lambda#34
160
Goto → block 12
Block 12
165
MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154
Value
166
Goto → block 13
Block 13
173
Elements ← GuardShape#172
Elements
174
StoreElementHole ← GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165
175
Goto → block 14
Block 14 (backedge)
179
Constant 0x1
I[1, 1]: Int32
180
Add ← Phi#119, Constant#179 [int32]
I[1, 2147483647]: Int32
181
Goto → block 9
Block 15
184
GuardShape ← NewArrayDynamicLength#110
Object
186
Constant function reduce (self-hosted:205) at 104289c479c0
Object
187
Constant function complex5/< (-e:22) at 104289c63e40
Object
188
Lambda ← NewCallObject#8, Constant#187
Object
193
Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117
Value
194
Return ← Call#193
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
15
PostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
27
Unbox Parameter#1 to Object (fallible)
Object
28
GuardIsNotProxy ← Unbox#27
Object
29
ObjectKeys ← GuardIsNotProxy#28
Object
30
GuardShape ← ObjectKeys#29
Object
32
Constant function map (self-hosted:163) at 104289c47920
Object
33
Constant function complex5/< (-e:22) at 104289c63e08
Object
34
Lambda ← NewCallObject#8, Constant#33
Object
38
Goto → block 1
Block 1
40
Constant function ToObject at 104289c6c740
Object
41
Box ← Constant#40
Value
42
DebugCheckSelfHosted ← Box#41
Value
45
Constant function ToLength at 104289c6c778
Object
46
Box ← Constant#45
Value
47
DebugCheckSelfHosted ← Box#46
Value
49
GuardShape ← ObjectKeys#29
Object
50
Elements ← GuardShape#49
Elements
51
ArrayLength ← Elements#50
I[0, 2147483647]: Int32
219
Goto → block 2
Block 2
67
Constant function IsCallable at 104289c6c7b0
Object
68
Box ← Constant#67
Value
69
DebugCheckSelfHosted ← Box#68
Value
220
AssertClass ← Lambda#34
222
Goto → block 3
Block 3
224
Goto → block 4
Block 4
92
Box ← Constant#2
Value
93
Goto → block 5
Block 5
95
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
96
Box ← Constant#95
Value
97
DebugCheckSelfHosted ← Box#96
Value
100
HasShape ← ObjectKeys#29
Bool
101
Test ← HasShape#100 → block 6, block 7
1
0
Block 6
102
Constant function std_Array at 104289c6c820
Object
103
Box ← Constant#102
Value
104
DebugCheckSelfHosted ← Box#103
Value
107
Unbox DebugCheckSelfHosted#104 to Object (fallible)
Object
109
GuardSpecificFunction ← Unbox#107, Constant#102
Object
110
NewArrayDynamicLength ← ArrayLength#51
Object
111
Goto → block 8
Block 7
112
CallGetIntrinsicValue
Value
113
DebugCheckSelfHosted ← CallGetIntrinsicValue#112
Value
115
Bail
116
Unreachable
Block 8
117
Constant 0x0
I[0, 0]: Int32
133
GuardShape ← ObjectKeys#29
Object
163
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
164
Unbox LoadFixedSlot#163 to Object (fallible)
Object
172
GuardShape ← NewArrayDynamicLength#110
Object
118
Goto → block 9
Block 9 (loop header)
119
Phi ← Constant#117, Add#180
I[0 {}, 2147483647 {[loop] #51-1}]: Int32
120
Constant magic optimized-out
MagicOptimizedOut
121
InterruptCheck
126
Compare ← Phi#119, ArrayLength#51 Lt
Bool
127
Test ← Compare#126 → block 10, block 15
1
0
Block 10
134
Elements ← GuardShape#133
Elements
135
InitializedLength ← Elements#134
I[0, 268435453]: Int32
136
BoundsCheck ← Phi#119, InitializedLength#135
I[0, 2147483646]: Int32
137
SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135
I[0, 2147483646]: Int32
138
GuardElementNotHole ← Elements#134, SpectreMaskIndex#137
225
Goto → block 11
Block 11
153
GuardElementsArePacked ← Elements#134
154
LoadElement ← Elements#134, SpectreMaskIndex#137
Value
226
AssertClass ← Lambda#34
160
Goto → block 12
Block 12
165
MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154
Value
166
Goto → block 13
Block 13
173
Elements ← GuardShape#172
Elements
174
StoreElementHole ← GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165
175
Goto → block 14
Block 14 (backedge)
179
Constant 0x1
I[1, 1]: Int32
180
Add ← Phi#119, Constant#179 [int32]
I[1, 2147483647]: Int32
181
Goto → block 9
Block 15
184
GuardShape ← NewArrayDynamicLength#110
Object
186
Constant function reduce (self-hosted:205) at 104289c479c0
Object
187
Constant function complex5/< (-e:22) at 104289c63e40
Object
188
Lambda ← NewCallObject#8, Constant#187
Object
193
Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117
Value
194
Return ← Call#193
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
15
PostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
27
Unbox Parameter#1 to Object (fallible)
Object
28
GuardIsNotProxy ← Unbox#27
Object
29
ObjectKeys ← GuardIsNotProxy#28
Object
30
GuardShape ← ObjectKeys#29
Object
32
Constant function map (self-hosted:163) at 104289c47920
Object
33
Constant function complex5/< (-e:22) at 104289c63e08
Object
34
Lambda ← NewCallObject#8, Constant#33
Object
38
Goto → block 1
Block 1
40
Constant function ToObject at 104289c6c740
Object
41
Box ← Constant#40
Value
42
DebugCheckSelfHosted ← Box#41
Value
45
Constant function ToLength at 104289c6c778
Object
46
Box ← Constant#45
Value
47
DebugCheckSelfHosted ← Box#46
Value
49
GuardShape ← ObjectKeys#29
Object
50
Elements ← GuardShape#49
Elements
51
ArrayLength ← Elements#50
I[0, 2147483647]: Int32
219
Goto → block 2
Block 2
67
Constant function IsCallable at 104289c6c7b0
Object
68
Box ← Constant#67
Value
69
DebugCheckSelfHosted ← Box#68
Value
220
AssertClass ← Lambda#34
222
Goto → block 3
Block 3
224
Goto → block 4
Block 4
92
Box ← Constant#2
Value
93
Goto → block 5
Block 5
95
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
96
Box ← Constant#95
Value
97
DebugCheckSelfHosted ← Box#96
Value
100
HasShape ← ObjectKeys#29
Bool
101
Test ← HasShape#100 → block 6, block 7
1
0
Block 6
102
Constant function std_Array at 104289c6c820
Object
103
Box ← Constant#102
Value
104
DebugCheckSelfHosted ← Box#103
Value
107
Unbox DebugCheckSelfHosted#104 to Object (fallible)
Object
109
GuardSpecificFunction ← Unbox#107, Constant#102
Object
110
NewArrayDynamicLength ← ArrayLength#51
Object
111
Goto → block 8
Block 7
112
CallGetIntrinsicValue
Value
113
DebugCheckSelfHosted ← CallGetIntrinsicValue#112
Value
115
Bail
116
Unreachable
Block 8
117
Constant 0x0
I[0, 0]: Int32
133
GuardShape ← ObjectKeys#29
Object
163
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
164
Unbox LoadFixedSlot#163 to Object (fallible)
Object
172
GuardShape ← NewArrayDynamicLength#110
Object
118
Goto → block 9
Block 9 (loop header)
119
Phi ← Constant#117, Add#180
I[0 {}, 2147483647 {[loop] #51-1}]: Int32
120
Constant magic optimized-out
MagicOptimizedOut
121
InterruptCheck
126
Compare ← Phi#119, ArrayLength#51 Lt
Bool
127
Test ← Compare#126 → block 10, block 15
1
0
Block 10
134
Elements ← GuardShape#133
Elements
135
InitializedLength ← Elements#134
I[0, 268435453]: Int32
136
BoundsCheck ← Phi#119, InitializedLength#135
I[0, 2147483646]: Int32
137
SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135
I[0, 2147483646]: Int32
138
GuardElementNotHole ← Elements#134, SpectreMaskIndex#137
225
Goto → block 11
Block 11
153
GuardElementsArePacked ← Elements#134
154
LoadElement ← Elements#134, SpectreMaskIndex#137
Value
226
AssertClass ← Lambda#34
160
Goto → block 12
Block 12
165
MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154
Value
166
Goto → block 13
Block 13
173
Elements ← GuardShape#172
Elements
174
StoreElementHole ← GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165
175
Goto → block 14
Block 14 (backedge)
179
Constant 0x1
I[1, 1]: Int32
180
Add ← Phi#119, Constant#179 [int32]
I[1, 2147483647]: Int32
181
Goto → block 9
Block 15
184
GuardShape ← NewArrayDynamicLength#110
Object
186
Constant function reduce (self-hosted:205) at 104289c479c0
Object
187
Constant function complex5/< (-e:22) at 104289c63e40
Object
188
Lambda ← NewCallObject#8, Constant#187
Object
193
Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117
Value
194
Return ← Call#193
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
15
PostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
27
Unbox Parameter#1 to Object (fallible)
Object
28
GuardIsNotProxy ← Unbox#27
Object
29
ObjectKeys ← GuardIsNotProxy#28
Object
30
GuardShape ← ObjectKeys#29
Object
32
Constant function map (self-hosted:163) at 104289c47920
Object
33
Constant function complex5/< (-e:22) at 104289c63e08
Object
34
Lambda ← NewCallObject#8, Constant#33
Object
38
Goto → block 1
Block 1
40
Constant function ToObject at 104289c6c740
Object
41
Box ← Constant#40
Value
42
DebugCheckSelfHosted ← Box#41
Value
45
Constant function ToLength at 104289c6c778
Object
46
Box ← Constant#45
Value
47
DebugCheckSelfHosted ← Box#46
Value
49
GuardShape ← ObjectKeys#29
Object
50
Elements ← GuardShape#49
Elements
51
ArrayLength ← Elements#50
I[0, 2147483647]: Int32
219
Goto → block 2
Block 2
67
Constant function IsCallable at 104289c6c7b0
Object
68
Box ← Constant#67
Value
69
DebugCheckSelfHosted ← Box#68
Value
220
AssertClass ← Lambda#34
222
Goto → block 3
Block 3
224
Goto → block 4
Block 4
92
Box ← Constant#2
Value
93
Goto → block 5
Block 5
95
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
96
Box ← Constant#95
Value
97
DebugCheckSelfHosted ← Box#96
Value
100
HasShape ← ObjectKeys#29
Bool
101
Test ← HasShape#100 → block 6, block 7
1
0
Block 6
102
Constant function std_Array at 104289c6c820
Object
103
Box ← Constant#102
Value
104
DebugCheckSelfHosted ← Box#103
Value
107
Unbox DebugCheckSelfHosted#104 to Object (fallible)
Object
109
GuardSpecificFunction ← Unbox#107, Constant#102
Object
110
NewArrayDynamicLength ← ArrayLength#51
Object
111
Goto → block 8
Block 7
112
CallGetIntrinsicValue
Value
113
DebugCheckSelfHosted ← CallGetIntrinsicValue#112
Value
115
Bail
116
Unreachable
Block 8
117
Constant 0x0
I[0, 0]: Int32
133
GuardShape ← ObjectKeys#29
Object
163
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
164
Unbox LoadFixedSlot#163 to Object (fallible)
Object
172
GuardShape ← NewArrayDynamicLength#110
Object
118
Goto → block 9
Block 9 (loop header)
119
Phi ← Constant#117, Add#180
I[0 {}, 2147483647 {[loop] #51-1}]: Int32
120
Constant magic optimized-out
MagicOptimizedOut
121
InterruptCheck
126
Compare ← Phi#119, ArrayLength#51 Lt
Bool
127
Test ← Compare#126 → block 10, block 15
1
0
Block 10
134
Elements ← GuardShape#133
Elements
135
InitializedLength ← Elements#134
I[0, 268435453]: Int32
136
BoundsCheck ← Phi#119, InitializedLength#135
I[0, 2147483646]: Int32
137
SpectreMaskIndex ← BoundsCheck#136, InitializedLength#135
I[0, 2147483646]: Int32
138
GuardElementNotHole ← Elements#134, SpectreMaskIndex#137
225
Goto → block 11
Block 11
153
GuardElementsArePacked ← Elements#134
154
LoadElement ← Elements#134, SpectreMaskIndex#137
Value
226
AssertClass ← Lambda#34
160
Goto → block 12
Block 12
165
MegamorphicLoadSlotByValue ← Unbox#164, LoadElement#154
Value
166
Goto → block 13
Block 13
173
Elements ← GuardShape#172
Elements
174
StoreElementHole ← GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165
175
Goto → block 14
Block 14 (backedge)
179
Constant 0x1
I[1, 1]: Int32
180
Add ← Phi#119, Constant#179 [int32]
I[1, 2147483647]: Int32
181
Goto → block 9
Block 15
184
GuardShape ← NewArrayDynamicLength#110
Object
186
Constant function reduce (self-hosted:205) at 104289c479c0
Object
187
Constant function complex5/< (-e:22) at 104289c63e40
Object
188
Lambda ← NewCallObject#8, Constant#187
Object
193
Call ← Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117
Value
194
Return ← Call#193
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
15
PostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
17
Unbox Parameter#1 to Object (fallible)
Object
18
GuardIsNotProxy ← Unbox#17
Object
19
ObjectKeys ← GuardIsNotProxy#18
Object
20
GuardShape ← ObjectKeys#19
Object
21
Constant function map (self-hosted:163) at 104289c47920
Object
22
Constant function complex5/< (-e:22) at 104289c63e08
Object
23
Lambda ← NewCallObject#8, Constant#22
Object
24
Goto → block 1
Block 1
25
Constant function ToObject at 104289c6c740
Object
26
Constant function ToLength at 104289c6c778
Object
27
Box ← Constant#25
Value
28
DebugCheckSelfHosted ← Box#27
Value
29
Box ← Constant#26
Value
30
DebugCheckSelfHosted ← Box#29
Value
31
GuardShape ← ObjectKeys#19
Object
32
Elements ← GuardShape#31
Elements
33
ArrayLength ← Elements#32
I[0, 2147483647]: Int32
34
Goto → block 2
Block 2
35
Constant function IsCallable at 104289c6c7b0
Object
36
Box ← Constant#35
Value
37
DebugCheckSelfHosted ← Box#36
Value
38
AssertClass ← Lambda#23
39
Goto → block 3
Block 3
40
Goto → block 4
Block 4
41
Box ← Constant#2
Value
42
Goto → block 5
Block 5
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← ObjectKeys#19
Bool
47
Test ← HasShape#46 → block 6, block 7
1
0
Block 6
48
Constant function std_Array at 104289c6c820
Object
49
Box ← Constant#48
Value
50
DebugCheckSelfHosted ← Box#49
Value
51
Unbox DebugCheckSelfHosted#50 to Object (fallible)
Object
52
GuardSpecificFunction ← Unbox#51, Constant#48
Object
53
NewArrayDynamicLength ← ArrayLength#33
Object
54
Goto → block 8
Block 7
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Bail
58
Unreachable
Block 8
59
Constant 0x0
I[0, 0]: Int32
60
GuardShape ← ObjectKeys#19
Object
61
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
62
Unbox LoadFixedSlot#61 to Object (fallible)
Object
63
GuardShape ← NewArrayDynamicLength#53
Object
64
Goto → block 9
Block 9 (loop header)
65
Phi ← Constant#59, Add#86
I[0 {}, 2147483647 {[loop] #33-1}]: Int32
66
Constant magic optimized-out
MagicOptimizedOut
67
InterruptCheck
68
Compare ← Phi#65, ArrayLength#33 Lt
Bool
69
Test ← Compare#68 → block 10, block 15
1
0
Block 10
70
Elements ← GuardShape#60
Elements
71
InitializedLength ← Elements#70
I[0, 268435453]: Int32
72
BoundsCheck ← Phi#65, InitializedLength#71
I[0, 2147483646]: Int32
73
SpectreMaskIndex ← BoundsCheck#72, InitializedLength#71
I[0, 2147483646]: Int32
74
GuardElementNotHole ← Elements#70, SpectreMaskIndex#73
75
Goto → block 11
Block 11
76
GuardElementsArePacked ← Elements#70
77
LoadElement ← Elements#70, SpectreMaskIndex#73
Value
78
AssertClass ← Lambda#23
79
Goto → block 12
Block 12
80
MegamorphicLoadSlotByValue ← Unbox#62, LoadElement#77
Value
81
Goto → block 13
Block 13
82
Elements ← GuardShape#63
Elements
83
StoreElementHole ← GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80
84
Goto → block 14
Block 14 (backedge)
85
Constant 0x1
I[1, 1]: Int32
86
Add ← Phi#65, Constant#85 [int32]
I[1, 2147483647]: Int32
87
Goto → block 9
Block 15
88
Constant function complex5/< (-e:22) at 104289c63e40
Object
89
GuardShape ← NewArrayDynamicLength#53
Object
90
Constant function reduce (self-hosted:205) at 104289c479c0
Object
91
Lambda ← NewCallObject#8, Constant#88
Object
92
Call ← Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59
Value
93
Return ← Call#92
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
15
PostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
17
Unbox Parameter#1 to Object (fallible)
Object
18
GuardIsNotProxy ← Unbox#17
Object
19
ObjectKeys ← GuardIsNotProxy#18
Object
20
GuardShape ← ObjectKeys#19
Object
21
Constant function map (self-hosted:163) at 104289c47920
Object
22
Constant function complex5/< (-e:22) at 104289c63e08
Object
23
Lambda ← NewCallObject#8, Constant#22
Object
24
Goto → block 1
Block 1
25
Constant function ToObject at 104289c6c740
Object
26
Constant function ToLength at 104289c6c778
Object
27
Box ← Constant#25
Value
28
DebugCheckSelfHosted ← Box#27
Value
29
Box ← Constant#26
Value
30
DebugCheckSelfHosted ← Box#29
Value
31
GuardShape ← ObjectKeys#19
Object
32
Elements ← GuardShape#31
Elements
33
ArrayLength ← Elements#32
I[0, 2147483647]: Int32
34
Goto → block 2
Block 2
35
Constant function IsCallable at 104289c6c7b0
Object
36
Box ← Constant#35
Value
37
DebugCheckSelfHosted ← Box#36
Value
38
AssertClass ← Lambda#23
39
Goto → block 3
Block 3
40
Goto → block 4
Block 4
41
Box ← Constant#2
Value
42
Goto → block 5
Block 5
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← ObjectKeys#19
Bool
47
Test ← HasShape#46 → block 6, block 7
1
0
Block 6
48
Constant function std_Array at 104289c6c820
Object
49
Box ← Constant#48
Value
50
DebugCheckSelfHosted ← Box#49
Value
51
Unbox DebugCheckSelfHosted#50 to Object (fallible)
Object
52
GuardSpecificFunction ← Unbox#51, Constant#48
Object
53
NewArrayDynamicLength ← ArrayLength#33
Object
54
Goto → block 8
Block 7
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Bail
58
Unreachable
Block 8
59
Constant 0x0
I[0, 0]: Int32
60
GuardShape ← ObjectKeys#19
Object
61
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
62
Unbox LoadFixedSlot#61 to Object (fallible)
Object
63
GuardShape ← NewArrayDynamicLength#53
Object
64
Goto → block 9
Block 9 (loop header)
65
Phi ← Constant#59, Add#86
I[0 {}, 2147483647 {[loop] #33-1}]: Int32
66
Constant magic optimized-out
MagicOptimizedOut
67
InterruptCheck
68
Compare ← Phi#65, ArrayLength#33 Lt
Bool
69
Test ← Compare#68 → block 10, block 15
1
0
Block 10
70
Elements ← GuardShape#60
Elements
71
InitializedLength ← Elements#70
I[0, 268435453]: Int32
72
BoundsCheck ← Phi#65, InitializedLength#71
I[0, 2147483646]: Int32
73
SpectreMaskIndex ← BoundsCheck#72, InitializedLength#71
I[0, 2147483646]: Int32
74
GuardElementNotHole ← Elements#70, SpectreMaskIndex#73
75
Goto → block 11
Block 11
76
GuardElementsArePacked ← Elements#70
77
LoadElement ← Elements#70, SpectreMaskIndex#73
Value
78
AssertClass ← Lambda#23
79
Goto → block 12
Block 12
80
MegamorphicLoadSlotByValue ← Unbox#62, LoadElement#77
Value
81
Goto → block 13
Block 13
82
Elements ← GuardShape#63
Elements
83
StoreElementHole ← GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80
84
Goto → block 14
Block 14 (backedge)
85
Constant 0x1
I[1, 1]: Int32
86
Add ← Phi#65, Constant#85 [int32]
I[1, 2147483647]: Int32
87
Goto → block 9
Block 15
88
Constant function complex5/< (-e:22) at 104289c63e40
Object
89
GuardShape ← NewArrayDynamicLength#53
Object
90
Constant function reduce (self-hosted:205) at 104289c479c0
Object
91
Lambda ← NewCallObject#8, Constant#88
Object
92
Call ← Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59
Value
93
Return ← Call#92
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
15
PostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
17
Unbox Parameter#1 to Object (fallible)
Object
18
GuardIsNotProxy ← Unbox#17
Object
19
ObjectKeys ← GuardIsNotProxy#18
Object
20
GuardShape ← ObjectKeys#19
Object
21
Constant function map (self-hosted:163) at 104289c47920
Object
22
Constant function complex5/< (-e:22) at 104289c63e08
Object
23
Lambda ← NewCallObject#8, Constant#22
Object
24
Goto → block 1
Block 1
25
Constant function ToObject at 104289c6c740
Object
26
Constant function ToLength at 104289c6c778
Object
27
Box ← Constant#25
Value
28
DebugCheckSelfHosted ← Box#27
Value
29
Box ← Constant#26
Value
30
DebugCheckSelfHosted ← Box#29
Value
31
GuardShape ← ObjectKeys#19
Object
32
Elements ← GuardShape#31
Elements
33
ArrayLength ← Elements#32
I[0, 2147483647]: Int32
34
Goto → block 2
Block 2
35
Constant function IsCallable at 104289c6c7b0
Object
36
Box ← Constant#35
Value
37
DebugCheckSelfHosted ← Box#36
Value
38
AssertClass ← Lambda#23
39
Goto → block 3
Block 3
40
Goto → block 4
Block 4
41
Box ← Constant#2
Value
42
Goto → block 5
Block 5
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← ObjectKeys#19
Bool
47
Test ← HasShape#46 → block 6, block 7
1
0
Block 6
48
Constant function std_Array at 104289c6c820
Object
49
Box ← Constant#48
Value
50
DebugCheckSelfHosted ← Box#49
Value
51
Unbox DebugCheckSelfHosted#50 to Object (fallible)
Object
52
GuardSpecificFunction ← Unbox#51, Constant#48
Object
53
NewArrayDynamicLength ← ArrayLength#33
Object
54
Goto → block 8
Block 7
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Bail
58
Unreachable
Block 8
59
Constant 0x0
I[0, 0]: Int32
60
GuardShape ← ObjectKeys#19
Object
61
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
62
Unbox LoadFixedSlot#61 to Object (fallible)
Object
63
GuardShape ← NewArrayDynamicLength#53
Object
64
Goto → block 9
Block 9 (loop header)
65
Phi ← Constant#59, Add#86
I[0 {}, 2147483647 {[loop] #33-1}]: Int32
66
Constant magic optimized-out
MagicOptimizedOut
67
InterruptCheck
68
Compare ← Phi#65, ArrayLength#33 Lt
Bool
69
Test ← Compare#68 → block 10, block 15
1
0
Block 10
70
Elements ← GuardShape#60
Elements
71
InitializedLength ← Elements#70
I[0, 268435453]: Int32
72
BoundsCheck ← Phi#65, InitializedLength#71
I[0, 2147483646]: Int32
73
SpectreMaskIndex ← BoundsCheck#72, InitializedLength#71
I[0, 2147483646]: Int32
74
GuardElementNotHole ← Elements#70, SpectreMaskIndex#73
75
Goto → block 11
Block 11
76
GuardElementsArePacked ← Elements#70
77
LoadElement ← Elements#70, SpectreMaskIndex#73
Value
78
AssertClass ← Lambda#23
79
Goto → block 12
Block 12
80
MegamorphicLoadSlotByValue ← Unbox#62, LoadElement#77
Value
81
Goto → block 13
Block 13
82
Elements ← GuardShape#63
Elements
83
StoreElementHole ← GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80
84
Goto → block 14
Block 14 (backedge)
85
Constant 0x1
I[1, 1]: Int32
86
Add ← Phi#65, Constant#85 [int32]
I[1, 2147483647]: Int32
87
Goto → block 9
Block 15
88
Constant function complex5/< (-e:22) at 104289c63e40
Object
89
GuardShape ← NewArrayDynamicLength#53
Object
90
Constant function reduce (self-hosted:205) at 104289c479c0
Object
91
Lambda ← NewCallObject#8, Constant#88
Object
92
Call ← Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59
Value
93
Return ← Call#92
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
15
PostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
17
Unbox Parameter#1 to Object (fallible)
Object
18
GuardIsNotProxy ← Unbox#17
Object
19
ObjectKeys ← GuardIsNotProxy#18
Object
20
GuardShape ← ObjectKeys#19
Object
21
Constant function map (self-hosted:163) at 104289c47920
Object
22
Constant function complex5/< (-e:22) at 104289c63e08
Object
23
Lambda ← NewCallObject#8, Constant#22
Object
24
Goto → block 1
Block 1
25
Constant function ToObject at 104289c6c740
Object
26
Constant function ToLength at 104289c6c778
Object
27
Box ← Constant#25
Value
28
DebugCheckSelfHosted ← Box#27
Value
29
Box ← Constant#26
Value
30
DebugCheckSelfHosted ← Box#29
Value
31
GuardShape ← ObjectKeys#19
Object
32
Elements ← GuardShape#31
Elements
33
ArrayLength ← Elements#32
I[0, 2147483647]: Int32
34
Goto → block 2
Block 2
35
Constant function IsCallable at 104289c6c7b0
Object
36
Box ← Constant#35
Value
37
DebugCheckSelfHosted ← Box#36
Value
38
AssertClass ← Lambda#23
39
Goto → block 3
Block 3
40
Goto → block 4
Block 4
41
Box ← Constant#2
Value
42
Goto → block 5
Block 5
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← ObjectKeys#19
Bool
47
Test ← HasShape#46 → block 6, block 7
1
0
Block 6
48
Constant function std_Array at 104289c6c820
Object
49
Box ← Constant#48
Value
50
DebugCheckSelfHosted ← Box#49
Value
51
Unbox DebugCheckSelfHosted#50 to Object (fallible)
Object
52
GuardSpecificFunction ← Unbox#51, Constant#48
Object
53
NewArrayDynamicLength ← ArrayLength#33
Object
54
Goto → block 8
Block 7
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Bail
58
Unreachable
Block 8
59
Constant 0x0
I[0, 0]: Int32
60
GuardShape ← ObjectKeys#19
Object
61
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
62
Unbox LoadFixedSlot#61 to Object (fallible)
Object
63
GuardShape ← NewArrayDynamicLength#53
Object
64
Goto → block 9
Block 9 (loop header)
65
Phi ← Constant#59, Add#86
I[0 {}, 2147483647 {[loop] #33-1}]: Int32
66
Constant magic optimized-out
MagicOptimizedOut
67
InterruptCheck
68
Compare ← Phi#65, ArrayLength#33 Lt
Bool
69
Test ← Compare#68 → block 10, block 15
1
0
Block 10
70
Elements ← GuardShape#60
Elements
71
InitializedLength ← Elements#70
I[0, 268435453]: Int32
72
BoundsCheck ← Phi#65, InitializedLength#71
I[0, 2147483646]: Int32
73
SpectreMaskIndex ← Phi#65, InitializedLength#71
I[0, 2147483646]: Int32
74
GuardElementNotHole ← Elements#70, SpectreMaskIndex#73
75
Goto → block 11
Block 11
76
GuardElementsArePacked ← Elements#70
77
LoadElement ← Elements#70, SpectreMaskIndex#73
Value
78
AssertClass ← Lambda#23
79
Goto → block 12
Block 12
80
MegamorphicLoadSlotByValue ← Unbox#62, LoadElement#77
Value
81
Goto → block 13
Block 13
82
Elements ← GuardShape#63
Elements
83
StoreElementHole ← GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80
84
Goto → block 14
Block 14 (backedge)
85
Constant 0x1
I[1, 1]: Int32
86
Add ← Phi#65, Constant#85 [int32]
I[1, 2147483647]: Int32
87
Goto → block 9
Block 15
88
Constant function complex5/< (-e:22) at 104289c63e40
Object
89
GuardShape ← NewArrayDynamicLength#53
Object
90
Constant function reduce (self-hosted:205) at 104289c479c0
Object
91
Lambda ← NewCallObject#8, Constant#88
Object
92
Call ← Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59
Value
93
Return ← Call#92
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
15
PostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
17
Unbox Parameter#1 to Object (fallible)
Object
18
GuardIsNotProxy ← Unbox#17
Object
19
ObjectKeys ← GuardIsNotProxy#18
Object
20
GuardShape ← ObjectKeys#19
Object
21
Constant function map (self-hosted:163) at 104289c47920
Object
22
Constant function complex5/< (-e:22) at 104289c63e08
Object
23
Lambda ← NewCallObject#8, Constant#22
Object
24
Goto → block 1
Block 1
25
Constant function ToObject at 104289c6c740
Object
26
Constant function ToLength at 104289c6c778
Object
27
Box ← Constant#25
Value
28
DebugCheckSelfHosted ← Box#27
Value
29
Box ← Constant#26
Value
30
DebugCheckSelfHosted ← Box#29
Value
31
GuardShape ← ObjectKeys#19
Object
32
Elements ← GuardShape#31
Elements
33
ArrayLength ← Elements#32
I[0, 2147483647]: Int32
34
Goto → block 2
Block 2
35
Constant function IsCallable at 104289c6c7b0
Object
36
Box ← Constant#35
Value
37
DebugCheckSelfHosted ← Box#36
Value
38
AssertClass ← Lambda#23
39
Goto → block 3
Block 3
40
Goto → block 4
Block 4
41
Box ← Constant#2
Value
42
Goto → block 5
Block 5
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← ObjectKeys#19
Bool
47
Test ← HasShape#46 → block 6, block 7
1
0
Block 6
48
Constant function std_Array at 104289c6c820
Object
49
Box ← Constant#48
Value
50
DebugCheckSelfHosted ← Box#49
Value
51
Unbox DebugCheckSelfHosted#50 to Object (fallible)
Object
52
GuardSpecificFunction ← Unbox#51, Constant#48
Object
53
NewArrayDynamicLength ← ArrayLength#33
Object
54
Goto → block 8
Block 7
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Bail
58
Unreachable
Block 8
59
Constant 0x0
I[0, 0]: Int32
60
GuardShape ← ObjectKeys#19
Object
61
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
62
Unbox LoadFixedSlot#61 to Object (fallible)
Object
63
GuardShape ← NewArrayDynamicLength#53
Object
64
Goto → block 9
Block 9 (loop header)
65
Phi ← Constant#59, Add#86
I[0 {}, 2147483647 {[loop] #33-1}]: Int32
66
Constant magic optimized-out
MagicOptimizedOut
67
InterruptCheck
68
Compare ← Phi#65, ArrayLength#33 Lt
Bool
69
Test ← Compare#68 → block 10, block 15
1
0
Block 10
70
Elements ← GuardShape#60
Elements
71
InitializedLength ← Elements#70
I[0, 268435453]: Int32
72
BoundsCheck ← Phi#65, InitializedLength#71
I[0, 2147483646]: Int32
73
SpectreMaskIndex ← Phi#65, InitializedLength#71
I[0, 2147483646]: Int32
74
GuardElementNotHole ← Elements#70, SpectreMaskIndex#73
75
Goto → block 11
Block 11
76
GuardElementsArePacked ← Elements#70
77
LoadElement ← Elements#70, SpectreMaskIndex#73
Value
78
AssertClass ← Lambda#23
79
Goto → block 12
Block 12
80
MegamorphicLoadSlotByValue ← Unbox#62, LoadElement#77
Value
81
Goto → block 13
Block 13
82
Elements ← GuardShape#63
Elements
83
StoreElementHole ← GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80
84
Goto → block 14
Block 14 (backedge)
85
Constant 0x1
I[1, 1]: Int32
86
Add ← Phi#65, Constant#85 [int32]
I[1, 2147483647]: Int32
87
Goto → block 9
Block 15
88
Constant function complex5/< (-e:22) at 104289c63e40
Object
89
GuardShape ← NewArrayDynamicLength#53
Object
90
Constant function reduce (self-hosted:205) at 104289c479c0
Object
91
Lambda ← NewCallObject#8, Constant#88
Object
92
Call ← Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59
Value
93
Return ← Call#92
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
229
AssertCanElidePostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
17
Unbox Parameter#1 to Object (fallible)
Object
18
GuardIsNotProxy ← Unbox#17
Object
19
ObjectKeys ← GuardIsNotProxy#18
Object
20
GuardShape ← ObjectKeys#19
Object
21
Constant function map (self-hosted:163) at 104289c47920
Object
22
Constant function complex5/< (-e:22) at 104289c63e08
Object
23
Lambda ← NewCallObject#8, Constant#22
Object
24
Goto → block 1
Block 1
25
Constant function ToObject at 104289c6c740
Object
26
Constant function ToLength at 104289c6c778
Object
27
Box ← Constant#25
Value
28
DebugCheckSelfHosted ← Box#27
Value
29
Box ← Constant#26
Value
30
DebugCheckSelfHosted ← Box#29
Value
31
GuardShape ← ObjectKeys#19
Object
32
Elements ← GuardShape#31
Elements
33
ArrayLength ← Elements#32
I[0, 2147483647]: Int32
34
Goto → block 2
Block 2
35
Constant function IsCallable at 104289c6c7b0
Object
36
Box ← Constant#35
Value
37
DebugCheckSelfHosted ← Box#36
Value
38
AssertClass ← Lambda#23
39
Goto → block 3
Block 3
40
Goto → block 4
Block 4
41
Box ← Constant#2
Value
42
Goto → block 5
Block 5
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← ObjectKeys#19
Bool
47
Test ← HasShape#46 → block 6, block 7
1
0
Block 6
48
Constant function std_Array at 104289c6c820
Object
49
Box ← Constant#48
Value
50
DebugCheckSelfHosted ← Box#49
Value
51
Unbox DebugCheckSelfHosted#50 to Object (fallible)
Object
52
GuardSpecificFunction ← Unbox#51, Constant#48
Object
53
NewArrayDynamicLength ← ArrayLength#33
Object
54
Goto → block 8
Block 7
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Bail
58
Unreachable
Block 8
59
Constant 0x0
I[0, 0]: Int32
60
GuardShape ← ObjectKeys#19
Object
61
LoadFixedSlot ← NewCallObject#8 (slot 2)
Value
62
Unbox LoadFixedSlot#61 to Object (fallible)
Object
63
GuardShape ← NewArrayDynamicLength#53
Object
64
Goto → block 9
Block 9 (loop header)
65
Phi ← Constant#59, Add#86
I[0 {}, 2147483647 {[loop] #33-1}]: Int32
66
Constant magic optimized-out
MagicOptimizedOut
67
InterruptCheck
68
Compare ← Phi#65, ArrayLength#33 Lt
Bool
69
Test ← Compare#68 → block 10, block 15
1
0
Block 10
70
Elements ← GuardShape#60
Elements
71
InitializedLength ← Elements#70
I[0, 268435453]: Int32
72
BoundsCheck ← Phi#65, InitializedLength#71
I[0, 2147483646]: Int32
73
SpectreMaskIndex ← Phi#65, InitializedLength#71
I[0, 2147483646]: Int32
74
GuardElementNotHole ← Elements#70, SpectreMaskIndex#73
75
Goto → block 11
Block 11
76
GuardElementsArePacked ← Elements#70
77
LoadElement ← Elements#70, SpectreMaskIndex#73
Value
78
AssertClass ← Lambda#23
79
Goto → block 12
Block 12
80
MegamorphicLoadSlotByValue ← Unbox#62, LoadElement#77
Value
81
Goto → block 13
Block 13
82
Elements ← GuardShape#63
Elements
83
StoreElementHole ← GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80
84
Goto → block 14
Block 14 (backedge)
85
Constant 0x1
I[1, 1]: Int32
86
Add ← Phi#65, Constant#85 [int32]
I[1, 2147483647]: Int32
87
Goto → block 9
Block 15
88
Constant function complex5/< (-e:22) at 104289c63e40
Object
89
GuardShape ← NewArrayDynamicLength#53
Object
90
Constant function reduce (self-hosted:205) at 104289c479c0
Object
91
Lambda ← NewCallObject#8, Constant#88
Object
92
Call ← Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59
Value
93
Return ← Call#92
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
229
AssertCanElidePostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
17
Unbox Parameter#1 to Object (fallible)
Object
18
GuardIsNotProxy ← Unbox#17
Object
19
ObjectKeys ← GuardIsNotProxy#18
Object
20
GuardShape ← ObjectKeys#19
Object
21
Constant function map (self-hosted:163) at 104289c47920
Object
22
Constant function complex5/< (-e:22) at 104289c63e08
Object
23
Lambda ← NewCallObject#8, Constant#22
Object
24
Goto → block 1
Block 1
25
Constant function ToObject at 104289c6c740
Object
26
Constant function ToLength at 104289c6c778
Object
27
Box ← Constant#25
Value
28
DebugCheckSelfHosted ← Box#27
Value
29
Box ← Constant#26
Value
30
DebugCheckSelfHosted ← Box#29
Value
31
GuardShape ← ObjectKeys#19
Object
32
Elements ← GuardShape#31
Elements
33
ArrayLength ← Elements#32
I[0, 2147483647]: Int32
34
Goto → block 2
Block 2
35
Constant function IsCallable at 104289c6c7b0
Object
36
Box ← Constant#35
Value
37
DebugCheckSelfHosted ← Box#36
Value
38
AssertClass ← Lambda#23
39
Goto → block 3
Block 3
40
Goto → block 4
Block 4
41
Box ← Constant#2
Value
42
Goto → block 5
Block 5
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← ObjectKeys#19
Bool
47
Test ← HasShape#46 → block 6, block 7
1
0
Block 6
48
Constant function std_Array at 104289c6c820
Object
49
Box ← Constant#48
Value
50
DebugCheckSelfHosted ← Box#49
Value
51
Unbox DebugCheckSelfHosted#50 to Object (fallible)
Object
52
GuardSpecificFunction ← Unbox#51, Constant#48
Object
53
NewArrayDynamicLength ← ArrayLength#33
Object
54
Goto → block 8
Block 7
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Bail
58
Unreachable
Block 8
59
Constant 0x0
I[0, 0]: Int32
60
GuardShape ← ObjectKeys#19
Object
230
LoadFixedSlotAndUnbox ← NewCallObject#8 (slot 2)
Object
63
GuardShape ← NewArrayDynamicLength#53
Object
64
Goto → block 9
Block 9 (loop header)
65
Phi ← Constant#59, Add#86
I[0 {}, 2147483647 {[loop] #33-1}]: Int32
66
Constant magic optimized-out
MagicOptimizedOut
67
InterruptCheck
68
Compare ← Phi#65, ArrayLength#33 Lt
Bool
69
Test ← Compare#68 → block 10, block 15
1
0
Block 10
70
Elements ← GuardShape#60
Elements
71
InitializedLength ← Elements#70
I[0, 268435453]: Int32
72
BoundsCheck ← Phi#65, InitializedLength#71
I[0, 2147483646]: Int32
73
SpectreMaskIndex ← Phi#65, InitializedLength#71
I[0, 2147483646]: Int32
74
GuardElementNotHole ← Elements#70, SpectreMaskIndex#73
75
Goto → block 11
Block 11
76
GuardElementsArePacked ← Elements#70
77
LoadElement ← Elements#70, SpectreMaskIndex#73
Value
78
AssertClass ← Lambda#23
79
Goto → block 12
Block 12
80
MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#230, LoadElement#77
Value
81
Goto → block 13
Block 13
82
Elements ← GuardShape#63
Elements
83
StoreElementHole ← GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80
84
Goto → block 14
Block 14 (backedge)
85
Constant 0x1
I[1, 1]: Int32
86
Add ← Phi#65, Constant#85 [int32]
I[1, 2147483647]: Int32
87
Goto → block 9
Block 15
88
Constant function complex5/< (-e:22) at 104289c63e40
Object
89
GuardShape ← NewArrayDynamicLength#53
Object
90
Constant function reduce (self-hosted:205) at 104289c479c0
Object
91
Lambda ← NewCallObject#8, Constant#88
Object
92
Call ← Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59
Value
93
Return ← Call#92
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
229
AssertCanElidePostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
17
Unbox Parameter#1 to Object (fallible)
Object
18
GuardIsNotProxy ← Unbox#17
Object
19
ObjectKeys ← GuardIsNotProxy#18
Object
20
GuardShape ← ObjectKeys#19
Object
21
Constant function map (self-hosted:163) at 104289c47920
Object
22
Constant function complex5/< (-e:22) at 104289c63e08
Object
23
Lambda ← NewCallObject#8, Constant#22
Object
24
Goto → block 1
Block 1
25
Constant function ToObject at 104289c6c740
Object
26
Constant function ToLength at 104289c6c778
Object
27
Box ← Constant#25
Value
28
DebugCheckSelfHosted ← Box#27
Value
29
Box ← Constant#26
Value
30
DebugCheckSelfHosted ← Box#29
Value
31
GuardShape ← ObjectKeys#19
Object
32
Elements ← GuardShape#31
Elements
231
DebugEnterGCUnsafeRegion
33
ArrayLength ← Elements#32
I[0, 2147483647]: Int32
232
DebugLeaveGCUnsafeRegion
34
Goto → block 2
Block 2
35
Constant function IsCallable at 104289c6c7b0
Object
36
Box ← Constant#35
Value
37
DebugCheckSelfHosted ← Box#36
Value
38
AssertClass ← Lambda#23
39
Goto → block 3
Block 3
40
Goto → block 4
Block 4
41
Box ← Constant#2
Value
42
Goto → block 5
Block 5
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← ObjectKeys#19
Bool
47
Test ← HasShape#46 → block 6, block 7
1
0
Block 6
48
Constant function std_Array at 104289c6c820
Object
49
Box ← Constant#48
Value
50
DebugCheckSelfHosted ← Box#49
Value
51
Unbox DebugCheckSelfHosted#50 to Object (fallible)
Object
52
GuardSpecificFunction ← Unbox#51, Constant#48
Object
53
NewArrayDynamicLength ← ArrayLength#33
Object
54
Goto → block 8
Block 7
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Bail
58
Unreachable
Block 8
59
Constant 0x0
I[0, 0]: Int32
60
GuardShape ← ObjectKeys#19
Object
230
LoadFixedSlotAndUnbox ← NewCallObject#8 (slot 2)
Object
63
GuardShape ← NewArrayDynamicLength#53
Object
64
Goto → block 9
Block 9 (loop header)
65
Phi ← Constant#59, Add#86
I[0 {}, 2147483647 {[loop] #33-1}]: Int32
66
Constant magic optimized-out
MagicOptimizedOut
67
InterruptCheck
68
Compare ← Phi#65, ArrayLength#33 Lt
Bool
69
Test ← Compare#68 → block 10, block 15
1
0
Block 10
70
Elements ← GuardShape#60
Elements
237
DebugEnterGCUnsafeRegion
235
DebugEnterGCUnsafeRegion
71
InitializedLength ← Elements#70
I[0, 268435453]: Int32
238
DebugLeaveGCUnsafeRegion
72
BoundsCheck ← Phi#65, InitializedLength#71
I[0, 2147483646]: Int32
73
SpectreMaskIndex ← Phi#65, InitializedLength#71
I[0, 2147483646]: Int32
74
GuardElementNotHole ← Elements#70, SpectreMaskIndex#73
236
DebugLeaveGCUnsafeRegion
75
Goto → block 11
Block 11
76
GuardElementsArePacked ← Elements#70
234
KeepAliveObject ← GuardShape#60
77
LoadElement ← Elements#70, SpectreMaskIndex#73
Value
233
KeepAliveObject ← GuardShape#60
78
AssertClass ← Lambda#23
79
Goto → block 12
Block 12
80
MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#230, LoadElement#77
Value
81
Goto → block 13
Block 13
82
Elements ← GuardShape#63
Elements
83
StoreElementHole ← GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80
84
Goto → block 14
Block 14 (backedge)
85
Constant 0x1
I[1, 1]: Int32
86
Add ← Phi#65, Constant#85 [int32]
I[1, 2147483647]: Int32
87
Goto → block 9
Block 15
88
Constant function complex5/< (-e:22) at 104289c63e40
Object
89
GuardShape ← NewArrayDynamicLength#53
Object
90
Constant function reduce (self-hosted:205) at 104289c479c0
Object
91
Lambda ← NewCallObject#8, Constant#88
Object
92
Call ← Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59
Value
93
Return ← Call#92
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
229
AssertCanElidePostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
17
Unbox Parameter#1 to Object (fallible)
Object
18
GuardIsNotProxy ← Unbox#17
Object
19
ObjectKeys ← GuardIsNotProxy#18
Object
20
GuardShape ← ObjectKeys#19
Object
21
Constant function map (self-hosted:163) at 104289c47920
Object
22
Constant function complex5/< (-e:22) at 104289c63e08
Object
23
Lambda ← NewCallObject#8, Constant#22
Object
24
Goto → block 1
Block 1
25
Constant function ToObject at 104289c6c740
Object
26
Constant function ToLength at 104289c6c778
Object
27
Box ← Constant#25
Value
28
DebugCheckSelfHosted ← Box#27
Value
29
Box ← Constant#26
Value
30
DebugCheckSelfHosted ← Box#29
Value
31
GuardShape ← ObjectKeys#19
Object
32
Elements ← GuardShape#31
Elements
231
DebugEnterGCUnsafeRegion
33
ArrayLength ← Elements#32
I[0, 2147483647]: Int32
232
DebugLeaveGCUnsafeRegion
34
Goto → block 2
Block 2
35
Constant function IsCallable at 104289c6c7b0
Object
36
Box ← Constant#35
Value
37
DebugCheckSelfHosted ← Box#36
Value
38
AssertClass ← Lambda#23
39
Goto → block 3
Block 3
40
Goto → block 4
Block 4
41
Box ← Constant#2
Value
42
Goto → block 5
Block 5
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← ObjectKeys#19
Bool
47
Test ← HasShape#46 → block 6, block 7
1
0
Block 6
48
Constant function std_Array at 104289c6c820
Object
49
Box ← Constant#48
Value
50
DebugCheckSelfHosted ← Box#49
Value
51
Unbox Box#49 to Object (fallible)
Object
52
GuardSpecificFunction ← Unbox#51, Constant#48
Object
53
NewArrayDynamicLength ← ArrayLength#33
Object
54
Goto → block 8
Block 7
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Bail
58
Unreachable
Block 8
59
Constant 0x0
I[0, 0]: Int32
60
GuardShape ← ObjectKeys#19
Object
230
LoadFixedSlotAndUnbox ← NewCallObject#8 (slot 2)
Object
63
GuardShape ← NewArrayDynamicLength#53
Object
64
Goto → block 9
Block 9 (loop header)
65
Phi ← Constant#59, Add#86
I[0 {}, 2147483647 {[loop] #33-1}]: Int32
66
Constant magic optimized-out
MagicOptimizedOut
67
InterruptCheck
68
Compare ← Phi#65, ArrayLength#33 Lt
Bool
69
Test ← Compare#68 → block 10, block 15
1
0
Block 10
70
Elements ← GuardShape#60
Elements
237
DebugEnterGCUnsafeRegion
235
DebugEnterGCUnsafeRegion
71
InitializedLength ← Elements#70
I[0, 268435453]: Int32
238
DebugLeaveGCUnsafeRegion
72
BoundsCheck ← Phi#65, InitializedLength#71
I[0, 2147483646]: Int32
73
SpectreMaskIndex ← Phi#65, InitializedLength#71
I[0, 2147483646]: Int32
74
GuardElementNotHole ← Elements#70, SpectreMaskIndex#73
236
DebugLeaveGCUnsafeRegion
75
Goto → block 11
Block 11
76
GuardElementsArePacked ← Elements#70
234
KeepAliveObject ← GuardShape#60
77
LoadElement ← Elements#70, SpectreMaskIndex#73
Value
233
KeepAliveObject ← GuardShape#60
78
AssertClass ← Lambda#23
79
Goto → block 12
Block 12
80
MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#230, LoadElement#77
Value
81
Goto → block 13
Block 13
82
Elements ← GuardShape#63
Elements
83
StoreElementHole ← GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80
84
Goto → block 14
Block 14 (backedge)
85
Constant 0x1
I[1, 1]: Int32
86
Add ← Phi#65, Constant#85 [int32]
I[1, 2147483647]: Int32
87
Goto → block 9
Block 15
88
Constant function complex5/< (-e:22) at 104289c63e40
Object
89
GuardShape ← NewArrayDynamicLength#53
Object
90
Constant function reduce (self-hosted:205) at 104289c479c0
Object
91
Lambda ← NewCallObject#8, Constant#88
Object
92
Call ← Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59
Value
93
Return ← Call#92
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Constant object 104289c3f078 (Call)
Object
8
NewCallObject ← Constant#7
Object
9
Box ← FunctionEnvironment#6
Value
10
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#9
11
Box ← Callee#5
Value
12
AssertCanElidePostWriteBarrier ← NewCallObject#8, Box#11
13
StoreFixedSlot ← NewCallObject#8, FunctionEnvironment#6 (slot 0)
14
StoreFixedSlot ← NewCallObject#8, Callee#5 (slot 1)
229
AssertCanElidePostWriteBarrier ← NewCallObject#8, Parameter#1
16
StoreFixedSlot ← NewCallObject#8, Parameter#1 (slot 2)
17
Unbox Parameter#1 to Object (fallible)
Object
18
GuardIsNotProxy ← Unbox#17
Object
19
ObjectKeys ← GuardIsNotProxy#18
Object
20
GuardShape ← ObjectKeys#19
Object
21
Constant function map (self-hosted:163) at 104289c47920
Object
22
Constant function complex5/< (-e:22) at 104289c63e08
Object
23
Lambda ← NewCallObject#8, Constant#22
Object
24
Goto → block 1
Block 1
25
Constant function ToObject at 104289c6c740
Object
26
Constant function ToLength at 104289c6c778
Object
27
Box ← Constant#25
Value
28
DebugCheckSelfHosted ← Box#27
Value
29
Box ← Constant#26
Value
30
DebugCheckSelfHosted ← Box#29
Value
31
GuardShape ← ObjectKeys#19
Object
32
Elements ← GuardShape#31
Elements
231
DebugEnterGCUnsafeRegion
33
ArrayLength ← Elements#32
I[0, 2147483647]: Int32
232
DebugLeaveGCUnsafeRegion
34
Goto → block 2
Block 2
35
Constant function IsCallable at 104289c6c7b0
Object
36
Box ← Constant#35
Value
37
DebugCheckSelfHosted ← Box#36
Value
38
AssertClass ← Lambda#23
39
Goto → block 3
Block 3
40
Goto → block 4
Block 4
41
Box ← Constant#2
Value
42
Goto → block 5
Block 5
43
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
44
Box ← Constant#43
Value
45
DebugCheckSelfHosted ← Box#44
Value
46
HasShape ← ObjectKeys#19
Bool
47
Test ← HasShape#46 → block 6, block 7
1
0
Block 6
48
Constant function std_Array at 104289c6c820
Object
49
Box ← Constant#48
Value
50
DebugCheckSelfHosted ← Box#49
Value
51
Unbox Box#49 to Object (fallible)
Object
52
GuardSpecificFunction ← Unbox#51, Constant#48
Object
53
NewArrayDynamicLength ← ArrayLength#33
Object
54
Goto → block 8
Block 7
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Bail
58
Unreachable
Block 8
59
Constant 0x0
I[0, 0]: Int32
60
GuardShape ← ObjectKeys#19
Object
230
LoadFixedSlotAndUnbox ← NewCallObject#8 (slot 2)
Object
63
GuardShape ← NewArrayDynamicLength#53
Object
64
Goto → block 9
Block 9 (loop header)
65
Phi ← Constant#59, Add#86
I[0 {}, 2147483647 {[loop] #33-1}]: Int32
66
Constant magic optimized-out
MagicOptimizedOut
67
InterruptCheck
68
Compare ← Phi#65, ArrayLength#33 Lt
Bool
69
Test ← Compare#68 → block 10, block 15
1
0
Block 10
70
Elements ← GuardShape#60
Elements
237
DebugEnterGCUnsafeRegion
235
DebugEnterGCUnsafeRegion
71
InitializedLength ← Elements#70
I[0, 268435453]: Int32
238
DebugLeaveGCUnsafeRegion
72
BoundsCheck ← Phi#65, InitializedLength#71
I[0, 2147483646]: Int32
73
SpectreMaskIndex ← Phi#65, InitializedLength#71
I[0, 2147483646]: Int32
74
GuardElementNotHole ← Elements#70, SpectreMaskIndex#73
236
DebugLeaveGCUnsafeRegion
75
Goto → block 11
Block 11
76
GuardElementsArePacked ← Elements#70
234
KeepAliveObject ← GuardShape#60
77
LoadElement ← Elements#70, SpectreMaskIndex#73
Value
233
KeepAliveObject ← GuardShape#60
78
AssertClass ← Lambda#23
79
Goto → block 12
Block 12
80
MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#230, LoadElement#77
Value
81
Goto → block 13
Block 13
82
Elements ← GuardShape#63
Elements
83
StoreElementHole ← GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80
84
Goto → block 14
Block 14 (backedge)
85
Constant 0x1
I[1, 1]: Int32
86
Add ← Phi#65, Constant#85 [int32]
I[1, 2147483647]: Int32
87
Goto → block 9
Block 15
88
Constant function complex5/< (-e:22) at 104289c63e40
Object
89
GuardShape ← NewArrayDynamicLength#53
Object
90
Constant function reduce (self-hosted:205) at 104289c479c0
Object
91
Lambda ← NewCallObject#8, Constant#88
Object
92
Call ← Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59
Value
93
Return ← Call#92
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant object 104289c3e088 (Array)
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
13
Constant 0x1
Int32
14
Constant function map (self-hosted:163) at 104289c47920
Object
15
GuardSpecificFunction ← Constant#10, Constant#14
Object
16
Goto → block 1
Block 1
17
Constant undefined
Undefined
18
Constant function ToObject at 104289c6c740
Object
19
DebugCheckSelfHosted ← Constant#18
Value
20
Constant undefined
Undefined
21
Constant 0x1
Int32
22
Unbox Parameter#1 to Object (fallible)
Object
23
Constant function ToLength at 104289c6c778
Object
24
DebugCheckSelfHosted ← Constant#23
Value
25
Constant undefined
Undefined
26
GuardShape ← Unbox#22
Object
27
Elements ← GuardShape#26
Elements
28
ArrayLength ← Elements#27
Int32
29
Constant 0x1
Int32
30
Constant 0x0
Int32
31
MinMax ← ArrayLength#28, Constant#30 (max)
Int32
32
Constant 0x1
Int32
33
Constant 0x0
Int32
34
Compare ← Constant#32, Constant#33 StrictEq
Bool
35
Test ← Compare#34 → block 2, block 3
1
0
Block 2
36
CallGetIntrinsicValue
Value
37
DebugCheckSelfHosted ← CallGetIntrinsicValue#36
Value
38
Constant undefined
Undefined
39
Constant 0x37
Int32
40
Constant 0x0
Int32
41
Constant string 104289c2e080
String
42
Bail
43
UnreachableResult
Value
44
Goto → block 3
Block 3
45
Constant function IsCallable at 104289c6c7b0
Object
46
DebugCheckSelfHosted ← Constant#45
Value
47
Constant undefined
Undefined
48
Constant 0x1
Int32
49
IsCallable ← Lambda#12
Bool
50
Test ← IsCallable#49 → block 5, block 4
1
0
Block 4
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Constant undefined
Undefined
54
Constant 0xc
Int32
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x0
Int32
59
Bail
60
UnreachableResult
Value
61
Bail
62
UnreachableResult
Value
63
Goto → block 5
Block 5
64
Constant 0x1
Int32
65
Constant 0x1
Int32
66
Compare ← Constant#64, Constant#65 Gt
Bool
67
Test ← Compare#66 → block 6, block 7
1
0
Block 6
68
Constant 0x1
Int32
69
GetInlinedArgument ← Constant#68, Lambda#12
Value
70
Goto → block 8
Block 7
71
Constant undefined
Undefined
72
Goto → block 8
Block 8
73
Phi ← Constant#71, GetInlinedArgument#69
Value
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
DebugCheckSelfHosted ← Constant#74
Value
76
Constant undefined
Undefined
77
Constant 0x1
Int32
78
HasShape ← Unbox#22
Bool
79
Test ← HasShape#78 → block 9, block 10
1
0
Block 9
80
Constant function std_Array at 104289c6c820
Object
81
DebugCheckSelfHosted ← Constant#80
Value
82
Constant undefined
Undefined
83
Constant 0x1
Int32
84
Unbox DebugCheckSelfHosted#81 to Object (fallible)
Object
85
Constant function std_Array at 104289c6c820
Object
86
GuardSpecificFunction ← Unbox#84, Constant#85
Object
87
NewArrayDynamicLength ← MinMax#31
Object
88
Goto → block 11
Block 10
89
CallGetIntrinsicValue
Value
90
DebugCheckSelfHosted ← CallGetIntrinsicValue#89
Value
91
Constant undefined
Undefined
92
Bail
93
UnreachableResult
Value
94
Goto → block 11
Block 11
95
Phi ← UnreachableResult#93, NewArrayDynamicLength#87
Value
96
Constant 0x0
Int32
108
Goto → block 12
Block 12 (loop header)
97
Phi ← Constant#17, Constant#17
Value
98
Phi ← Constant#17, Constant#17
Value
99
Phi ← Parameter#1, Parameter#1
Value
100
Phi ← Lambda#12, Lambda#12
Value
101
Phi ← Unbox#22, Unbox#22
Value
102
Phi ← MinMax#31, MinMax#31
Value
103
Phi ← Phi#73, Phi#73
Value
104
Phi ← Phi#95, Phi#95
Value
105
Phi ← Constant#96, Add#153
Value
106
Phi ← Constant#17, Phi#150
Value
107
Phi ← Parameter#1, Parameter#1
Value
109
InterruptCheck
110
Unbox Phi#105 to Int32 (fallible)
Int32
111
Unbox Phi#102 to Int32 (fallible)
Int32
112
Compare ← Unbox#110, Unbox#111 Lt
Bool
113
Test ← Compare#112 → block 13, block 18
1
0
Block 13
114
Unbox Phi#101 to Object (fallible)
Object
115
Unbox Phi#105 to Int32 (fallible)
Int32
116
GuardShape ← Unbox#114
Object
117
Elements ← GuardShape#116
Elements
118
InitializedLength ← Elements#117
Int32
119
BoundsCheck ← Unbox#115, InitializedLength#118
Int32
120
SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118
Int32
121
GuardElementNotHole ← Elements#117, SpectreMaskIndex#120
122
Constant true
Bool
123
Test ← Constant#122 → block 14, block 17
1
0
Block 14
124
Unbox Phi#101 to Object (fallible)
Object
125
Unbox Phi#105 to Int32 (fallible)
Int32
126
GuardShape ← Unbox#124
Object
127
Elements ← GuardShape#126
Elements
128
InitializedLength ← Elements#127
Int32
129
BoundsCheck ← Unbox#125, InitializedLength#128
Int32
130
SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128
Int32
131
GuardElementsArePacked ← Elements#127
132
LoadElement ← Elements#127, SpectreMaskIndex#130
Value
133
Constant 0x3
Int32
134
Unbox Phi#100 to Object (fallible)
Object
135
GuardToFunction ← Unbox#134
Object
136
GuardFunctionScript ← GuardToFunction#135
Object
137
Goto → block 15
Block 15
138
Constant undefined
Undefined
139
Constant 0x2
Int32
140
Unbox LoadElement#132 to Double (fallible)
Double
141
Mul ← Unbox#140, Constant#139 [double]
Double
143
Goto → block 16
Block 16
144
Unbox Phi#104 to Object (fallible)
Object
145
Unbox Phi#105 to Int32 (fallible)
Int32
146
GuardShape ← Unbox#144
Object
147
Elements ← GuardShape#146
Elements
148
StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141
149
Goto → block 17
Block 17 (backedge)
150
Phi ← Mul#141, Phi#106
Value
151
Unbox Phi#105 to Int32 (fallible)
Int32
152
Constant 0x1
Int32
153
Add ← Unbox#151, Constant#152 [int32]
Int32
154
Goto → block 12
Block 18
156
Goto → block 19
Block 19
157
Unbox Phi#104 to Object (fallible)
Object
158
GuardShape ← Unbox#157
Object
159
Constant object 104289c3e088 (Array)
Object
160
Constant function filter (self-hosted:183) at 104289c47970
Object
161
Constant function complex4/< (-e:18) at 104289c63d60
Object
162
Lambda ← FunctionEnvironment#6, Constant#161
Object
163
Constant 0x1
Int32
164
Constant function filter (self-hosted:183) at 104289c47970
Object
165
GuardSpecificFunction ← Constant#160, Constant#164
Object
166
Goto → block 20
Block 20
167
Constant undefined
Undefined
168
Constant function ToObject at 104289c6c740
Object
169
DebugCheckSelfHosted ← Constant#168
Value
170
Constant undefined
Undefined
171
Constant 0x1
Int32
172
Unbox Phi#104 to Object (fallible)
Object
173
Constant function ToLength at 104289c6c778
Object
174
DebugCheckSelfHosted ← Constant#173
Value
175
Constant undefined
Undefined
176
GuardShape ← Unbox#172
Object
177
Elements ← GuardShape#176
Elements
178
ArrayLength ← Elements#177
Int32
179
Constant 0x1
Int32
180
Constant 0x0
Int32
181
MinMax ← ArrayLength#178, Constant#180 (max)
Int32
182
Constant 0x1
Int32
183
Constant 0x0
Int32
184
Compare ← Constant#182, Constant#183 StrictEq
Bool
185
Test ← Compare#184 → block 21, block 22
1
0
Block 21
186
CallGetIntrinsicValue
Value
187
DebugCheckSelfHosted ← CallGetIntrinsicValue#186
Value
188
Constant undefined
Undefined
189
Constant 0x37
Int32
190
Constant 0x0
Int32
191
Constant string 104289c28540
String
192
Bail
193
UnreachableResult
Value
194
Goto → block 22
Block 22
195
Constant function IsCallable at 104289c6c7b0
Object
196
DebugCheckSelfHosted ← Constant#195
Value
197
Constant undefined
Undefined
198
Constant 0x1
Int32
199
IsCallable ← Lambda#162
Bool
200
Test ← IsCallable#199 → block 24, block 23
1
0
Block 23
201
CallGetIntrinsicValue
Value
202
DebugCheckSelfHosted ← CallGetIntrinsicValue#201
Value
203
Constant undefined
Undefined
204
Constant 0xc
Int32
205
CallGetIntrinsicValue
Value
206
DebugCheckSelfHosted ← CallGetIntrinsicValue#205
Value
207
Constant undefined
Undefined
208
Constant 0x0
Int32
209
Bail
210
UnreachableResult
Value
211
Bail
212
UnreachableResult
Value
213
Goto → block 24
Block 24
214
Constant 0x1
Int32
215
Constant 0x1
Int32
216
Compare ← Constant#214, Constant#215 Gt
Bool
217
Test ← Compare#216 → block 25, block 26
1
0
Block 25
218
Constant 0x1
Int32
219
GetInlinedArgument ← Constant#218, Lambda#162
Value
220
Goto → block 27
Block 26
221
Constant undefined
Undefined
222
Goto → block 27
Block 27
223
Phi ← Constant#221, GetInlinedArgument#219
Value
224
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
225
DebugCheckSelfHosted ← Constant#224
Value
226
Constant undefined
Undefined
227
Constant 0x1
Int32
228
HasShape ← Unbox#172
Bool
229
Test ← HasShape#228 → block 28, block 29
1
0
Block 28
230
Constant shape at 104289c64f00
Shape
231
NewArrayObject ← Constant#230
Object
232
Goto → block 30
Block 29
233
CallGetIntrinsicValue
Value
234
DebugCheckSelfHosted ← CallGetIntrinsicValue#233
Value
235
Constant undefined
Undefined
236
Constant 0x0
Int32
237
Bail
238
UnreachableResult
Value
239
Goto → block 30
Block 30
240
Phi ← UnreachableResult#238, NewArrayObject#231
Value
241
Constant 0x0
Int32
242
Constant 0x0
Int32
255
Goto → block 31
Block 31 (loop header)
243
Phi ← Constant#167, Constant#167
Value
244
Phi ← Constant#167, Constant#167
Value
245
Phi ← Phi#104, Phi#104
Value
246
Phi ← Lambda#162, Lambda#162
Value
247
Phi ← Unbox#172, Unbox#172
Value
248
Phi ← MinMax#181, MinMax#181
Value
249
Phi ← Phi#223, Phi#223
Value
250
Phi ← Phi#240, Phi#240
Value
251
Phi ← Constant#241, Add#304
Value
252
Phi ← Constant#242, Phi#300
Value
253
Phi ← Constant#167, Phi#301
Value
254
Phi ← Phi#104, Phi#104
Value
256
InterruptCheck
257
Unbox Phi#251 to Int32 (fallible)
Int32
258
Unbox Phi#248 to Int32 (fallible)
Int32
259
Compare ← Unbox#257, Unbox#258 Lt
Bool
260
Test ← Compare#259 → block 32, block 38
1
0
Block 32
261
Unbox Phi#247 to Object (fallible)
Object
262
Unbox Phi#251 to Int32 (fallible)
Int32
263
GuardShape ← Unbox#261
Object
264
Elements ← GuardShape#263
Elements
265
InitializedLength ← Elements#264
Int32
266
BoundsCheck ← Unbox#262, InitializedLength#265
Int32
267
SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265
Int32
268
GuardElementNotHole ← Elements#264, SpectreMaskIndex#267
269
Constant true
Bool
270
Test ← Constant#269 → block 33, block 37
1
0
Block 33
271
Unbox Phi#247 to Object (fallible)
Object
272
Unbox Phi#251 to Int32 (fallible)
Int32
273
GuardShape ← Unbox#271
Object
274
Elements ← GuardShape#273
Elements
275
InitializedLength ← Elements#274
Int32
276
BoundsCheck ← Unbox#272, InitializedLength#275
Int32
277
SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275
Int32
278
GuardElementsArePacked ← Elements#274
279
LoadElement ← Elements#274, SpectreMaskIndex#277
Value
280
Constant 0x3
Int32
281
Unbox Phi#246 to Object (fallible)
Object
282
GuardToFunction ← Unbox#281
Object
283
GuardFunctionScript ← GuardToFunction#282
Object
284
Goto → block 34
Block 34
285
Constant undefined
Undefined
286
Constant 0x32
Int32
287
Unbox LoadElement#279 to Double (fallible)
Double
288
Compare ← Unbox#287, Constant#286 Gt
Bool
290
Goto → block 35
Block 35
291
Test ← Compare#288 → block 36, block 37
1
0
Block 36
292
Unbox Phi#252 to Int32 (fallible)
Int32
293
Constant 0x1
Int32
294
Add ← Unbox#292, Constant#293 [int32]
Int32
295
Unbox Phi#250 to Object (fallible)
Object
296
GuardShape ← Unbox#295
Object
297
Elements ← GuardShape#296
Elements
298
StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279
299
Goto → block 37
Block 37 (backedge)
300
Phi ← Add#294, Phi#252, Phi#252
Value
301
Phi ← LoadElement#279, Phi#253, LoadElement#279
Value
302
Unbox Phi#251 to Int32 (fallible)
Int32
303
Constant 0x1
Int32
304
Add ← Unbox#302, Constant#303 [int32]
Int32
305
Goto → block 31
Block 38
307
Goto → block 39
Block 39
308
Unbox Phi#250 to Object (fallible)
Object
309
GuardShape ← Unbox#308
Object
310
Constant object 104289c3e088 (Array)
Object
311
Constant function reduce (self-hosted:205) at 104289c479c0
Object
312
Constant function complex4/< (-e:18) at 104289c63d98
Object
313
Lambda ← FunctionEnvironment#6, Constant#312
Object
314
Constant 0x0
Int32
315
Constant 0x2
Int32
316
Constant function reduce (self-hosted:205) at 104289c479c0
Object
317
GuardSpecificFunction ← Constant#311, Constant#316
Object
318
Call ← GuardSpecificFunction#317, Phi#250, Lambda#313, Constant#314
Value
319
Return ← Call#318
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant object 104289c3e088 (Array)
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
13
Constant 0x1
Int32
14
Constant function map (self-hosted:163) at 104289c47920
Object
15
GuardSpecificFunction ← Constant#10, Constant#14
Object
16
Goto → block 1
Block 1
17
Constant undefined
Undefined
18
Constant function ToObject at 104289c6c740
Object
19
DebugCheckSelfHosted ← Constant#18
Value
20
Constant undefined
Undefined
21
Constant 0x1
Int32
22
Unbox Parameter#1 to Object (fallible)
Object
23
Constant function ToLength at 104289c6c778
Object
24
DebugCheckSelfHosted ← Constant#23
Value
25
Constant undefined
Undefined
26
GuardShape ← Unbox#22
Object
27
Elements ← GuardShape#26
Elements
28
ArrayLength ← Elements#27
Int32
29
Constant 0x1
Int32
30
Constant 0x0
Int32
31
MinMax ← ArrayLength#28, Constant#30 (max)
Int32
32
Constant 0x1
Int32
33
Constant 0x0
Int32
34
Compare ← Constant#32, Constant#33 StrictEq
Bool
35
Test ← Compare#34 → block 2, block 3
1
0
Block 2
36
CallGetIntrinsicValue
Value
37
DebugCheckSelfHosted ← CallGetIntrinsicValue#36
Value
38
Constant undefined
Undefined
39
Constant 0x37
Int32
40
Constant 0x0
Int32
41
Constant string 104289c2e080
String
42
Bail
325
Unreachable
Block 3
45
Constant function IsCallable at 104289c6c7b0
Object
46
DebugCheckSelfHosted ← Constant#45
Value
47
Constant undefined
Undefined
48
Constant 0x1
Int32
49
IsCallable ← Lambda#12
Bool
50
Test ← IsCallable#49 → block 5, block 4
1
0
Block 4
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Constant undefined
Undefined
54
Constant 0xc
Int32
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x0
Int32
59
Bail
324
Unreachable
Block 5
64
Constant 0x1
Int32
65
Constant 0x1
Int32
66
Compare ← Constant#64, Constant#65 Gt
Bool
67
Test ← Compare#66 → block 6, block 7
1
0
Block 6
68
Constant 0x1
Int32
69
GetInlinedArgument ← Constant#68, Lambda#12
Value
70
Goto → block 8
Block 7
71
Constant undefined
Undefined
72
Goto → block 8
Block 8
73
Phi ← Constant#71, GetInlinedArgument#69
Value
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
DebugCheckSelfHosted ← Constant#74
Value
76
Constant undefined
Undefined
77
Constant 0x1
Int32
78
HasShape ← Unbox#22
Bool
79
Test ← HasShape#78 → block 9, block 10
1
0
Block 9
80
Constant function std_Array at 104289c6c820
Object
81
DebugCheckSelfHosted ← Constant#80
Value
82
Constant undefined
Undefined
83
Constant 0x1
Int32
84
Unbox DebugCheckSelfHosted#81 to Object (fallible)
Object
85
Constant function std_Array at 104289c6c820
Object
86
GuardSpecificFunction ← Unbox#84, Constant#85
Object
87
NewArrayDynamicLength ← MinMax#31
Object
88
Goto → block 11
Block 10
89
CallGetIntrinsicValue
Value
90
DebugCheckSelfHosted ← CallGetIntrinsicValue#89
Value
91
Constant undefined
Undefined
92
Bail
323
Unreachable
Block 11
95
Phi ← NewArrayDynamicLength#87
Value
96
Constant 0x0
Int32
108
Goto → block 12
Block 12 (loop header)
97
Phi ← Constant#17, Constant#17
Value
98
Phi ← Constant#17, Constant#17
Value
99
Phi ← Parameter#1, Parameter#1
Value
100
Phi ← Lambda#12, Lambda#12
Value
101
Phi ← Unbox#22, Unbox#22
Value
102
Phi ← MinMax#31, MinMax#31
Value
103
Phi ← Phi#73, Phi#73
Value
104
Phi ← Phi#95, Phi#95
Value
105
Phi ← Constant#96, Add#153
Value
106
Phi ← Constant#17, Phi#150
Value
107
Phi ← Parameter#1, Parameter#1
Value
109
InterruptCheck
110
Unbox Phi#105 to Int32 (fallible)
Int32
111
Unbox Phi#102 to Int32 (fallible)
Int32
112
Compare ← Unbox#110, Unbox#111 Lt
Bool
113
Test ← Compare#112 → block 13, block 18
1
0
Block 13
114
Unbox Phi#101 to Object (fallible)
Object
115
Unbox Phi#105 to Int32 (fallible)
Int32
116
GuardShape ← Unbox#114
Object
117
Elements ← GuardShape#116
Elements
118
InitializedLength ← Elements#117
Int32
119
BoundsCheck ← Unbox#115, InitializedLength#118
Int32
120
SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118
Int32
121
GuardElementNotHole ← Elements#117, SpectreMaskIndex#120
122
Constant true
Bool
123
Test ← Constant#122 → block 14, block 17
1
0
Block 14
124
Unbox Phi#101 to Object (fallible)
Object
125
Unbox Phi#105 to Int32 (fallible)
Int32
126
GuardShape ← Unbox#124
Object
127
Elements ← GuardShape#126
Elements
128
InitializedLength ← Elements#127
Int32
129
BoundsCheck ← Unbox#125, InitializedLength#128
Int32
130
SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128
Int32
131
GuardElementsArePacked ← Elements#127
132
LoadElement ← Elements#127, SpectreMaskIndex#130
Value
133
Constant 0x3
Int32
134
Unbox Phi#100 to Object (fallible)
Object
135
GuardToFunction ← Unbox#134
Object
136
GuardFunctionScript ← GuardToFunction#135
Object
137
Goto → block 15
Block 15
138
Constant undefined
Undefined
139
Constant 0x2
Int32
140
Unbox LoadElement#132 to Double (fallible)
Double
141
Mul ← Unbox#140, Constant#139 [double]
Double
143
Goto → block 16
Block 16
144
Unbox Phi#104 to Object (fallible)
Object
145
Unbox Phi#105 to Int32 (fallible)
Int32
146
GuardShape ← Unbox#144
Object
147
Elements ← GuardShape#146
Elements
148
StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141
149
Goto → block 17
Block 17 (backedge)
150
Phi ← Mul#141, Phi#106
Value
151
Unbox Phi#105 to Int32 (fallible)
Int32
152
Constant 0x1
Int32
153
Add ← Unbox#151, Constant#152 [int32]
Int32
154
Goto → block 12
Block 18
156
Goto → block 19
Block 19
157
Unbox Phi#104 to Object (fallible)
Object
158
GuardShape ← Unbox#157
Object
159
Constant object 104289c3e088 (Array)
Object
160
Constant function filter (self-hosted:183) at 104289c47970
Object
161
Constant function complex4/< (-e:18) at 104289c63d60
Object
162
Lambda ← FunctionEnvironment#6, Constant#161
Object
163
Constant 0x1
Int32
164
Constant function filter (self-hosted:183) at 104289c47970
Object
165
GuardSpecificFunction ← Constant#160, Constant#164
Object
166
Goto → block 20
Block 20
167
Constant undefined
Undefined
168
Constant function ToObject at 104289c6c740
Object
169
DebugCheckSelfHosted ← Constant#168
Value
170
Constant undefined
Undefined
171
Constant 0x1
Int32
172
Unbox Phi#104 to Object (fallible)
Object
173
Constant function ToLength at 104289c6c778
Object
174
DebugCheckSelfHosted ← Constant#173
Value
175
Constant undefined
Undefined
176
GuardShape ← Unbox#172
Object
177
Elements ← GuardShape#176
Elements
178
ArrayLength ← Elements#177
Int32
179
Constant 0x1
Int32
180
Constant 0x0
Int32
181
MinMax ← ArrayLength#178, Constant#180 (max)
Int32
182
Constant 0x1
Int32
183
Constant 0x0
Int32
184
Compare ← Constant#182, Constant#183 StrictEq
Bool
185
Test ← Compare#184 → block 21, block 22
1
0
Block 21
186
CallGetIntrinsicValue
Value
187
DebugCheckSelfHosted ← CallGetIntrinsicValue#186
Value
188
Constant undefined
Undefined
189
Constant 0x37
Int32
190
Constant 0x0
Int32
191
Constant string 104289c28540
String
192
Bail
322
Unreachable
Block 22
195
Constant function IsCallable at 104289c6c7b0
Object
196
DebugCheckSelfHosted ← Constant#195
Value
197
Constant undefined
Undefined
198
Constant 0x1
Int32
199
IsCallable ← Lambda#162
Bool
200
Test ← IsCallable#199 → block 24, block 23
1
0
Block 23
201
CallGetIntrinsicValue
Value
202
DebugCheckSelfHosted ← CallGetIntrinsicValue#201
Value
203
Constant undefined
Undefined
204
Constant 0xc
Int32
205
CallGetIntrinsicValue
Value
206
DebugCheckSelfHosted ← CallGetIntrinsicValue#205
Value
207
Constant undefined
Undefined
208
Constant 0x0
Int32
209
Bail
321
Unreachable
Block 24
214
Constant 0x1
Int32
215
Constant 0x1
Int32
216
Compare ← Constant#214, Constant#215 Gt
Bool
217
Test ← Compare#216 → block 25, block 26
1
0
Block 25
218
Constant 0x1
Int32
219
GetInlinedArgument ← Constant#218, Lambda#162
Value
220
Goto → block 27
Block 26
221
Constant undefined
Undefined
222
Goto → block 27
Block 27
223
Phi ← Constant#221, GetInlinedArgument#219
Value
224
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
225
DebugCheckSelfHosted ← Constant#224
Value
226
Constant undefined
Undefined
227
Constant 0x1
Int32
228
HasShape ← Unbox#172
Bool
229
Test ← HasShape#228 → block 28, block 29
1
0
Block 28
230
Constant shape at 104289c64f00
Shape
231
NewArrayObject ← Constant#230
Object
232
Goto → block 30
Block 29
233
CallGetIntrinsicValue
Value
234
DebugCheckSelfHosted ← CallGetIntrinsicValue#233
Value
235
Constant undefined
Undefined
236
Constant 0x0
Int32
237
Bail
320
Unreachable
Block 30
240
Phi ← NewArrayObject#231
Value
241
Constant 0x0
Int32
242
Constant 0x0
Int32
255
Goto → block 31
Block 31 (loop header)
243
Phi ← Constant#167, Constant#167
Value
244
Phi ← Constant#167, Constant#167
Value
245
Phi ← Phi#104, Phi#104
Value
246
Phi ← Lambda#162, Lambda#162
Value
247
Phi ← Unbox#172, Unbox#172
Value
248
Phi ← MinMax#181, MinMax#181
Value
249
Phi ← Phi#223, Phi#223
Value
250
Phi ← Phi#240, Phi#240
Value
251
Phi ← Constant#241, Add#304
Value
252
Phi ← Constant#242, Phi#300
Value
253
Phi ← Constant#167, Phi#301
Value
254
Phi ← Phi#104, Phi#104
Value
256
InterruptCheck
257
Unbox Phi#251 to Int32 (fallible)
Int32
258
Unbox Phi#248 to Int32 (fallible)
Int32
259
Compare ← Unbox#257, Unbox#258 Lt
Bool
260
Test ← Compare#259 → block 32, block 38
1
0
Block 32
261
Unbox Phi#247 to Object (fallible)
Object
262
Unbox Phi#251 to Int32 (fallible)
Int32
263
GuardShape ← Unbox#261
Object
264
Elements ← GuardShape#263
Elements
265
InitializedLength ← Elements#264
Int32
266
BoundsCheck ← Unbox#262, InitializedLength#265
Int32
267
SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265
Int32
268
GuardElementNotHole ← Elements#264, SpectreMaskIndex#267
269
Constant true
Bool
270
Test ← Constant#269 → block 33, block 37
1
0
Block 33
271
Unbox Phi#247 to Object (fallible)
Object
272
Unbox Phi#251 to Int32 (fallible)
Int32
273
GuardShape ← Unbox#271
Object
274
Elements ← GuardShape#273
Elements
275
InitializedLength ← Elements#274
Int32
276
BoundsCheck ← Unbox#272, InitializedLength#275
Int32
277
SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275
Int32
278
GuardElementsArePacked ← Elements#274
279
LoadElement ← Elements#274, SpectreMaskIndex#277
Value
280
Constant 0x3
Int32
281
Unbox Phi#246 to Object (fallible)
Object
282
GuardToFunction ← Unbox#281
Object
283
GuardFunctionScript ← GuardToFunction#282
Object
284
Goto → block 34
Block 34
285
Constant undefined
Undefined
286
Constant 0x32
Int32
287
Unbox LoadElement#279 to Double (fallible)
Double
288
Compare ← Unbox#287, Constant#286 Gt
Bool
290
Goto → block 35
Block 35
291
Test ← Compare#288 → block 36, block 37
1
0
Block 36
292
Unbox Phi#252 to Int32 (fallible)
Int32
293
Constant 0x1
Int32
294
Add ← Unbox#292, Constant#293 [int32]
Int32
295
Unbox Phi#250 to Object (fallible)
Object
296
GuardShape ← Unbox#295
Object
297
Elements ← GuardShape#296
Elements
298
StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279
299
Goto → block 37
Block 37 (backedge)
300
Phi ← Add#294, Phi#252, Phi#252
Value
301
Phi ← LoadElement#279, Phi#253, LoadElement#279
Value
302
Unbox Phi#251 to Int32 (fallible)
Int32
303
Constant 0x1
Int32
304
Add ← Unbox#302, Constant#303 [int32]
Int32
305
Goto → block 31
Block 38
307
Goto → block 39
Block 39
308
Unbox Phi#250 to Object (fallible)
Object
309
GuardShape ← Unbox#308
Object
310
Constant object 104289c3e088 (Array)
Object
311
Constant function reduce (self-hosted:205) at 104289c479c0
Object
312
Constant function complex4/< (-e:18) at 104289c63d98
Object
313
Lambda ← FunctionEnvironment#6, Constant#312
Object
314
Constant 0x0
Int32
315
Constant 0x2
Int32
316
Constant function reduce (self-hosted:205) at 104289c479c0
Object
317
GuardSpecificFunction ← Constant#311, Constant#316
Object
318
Call ← GuardSpecificFunction#317, Phi#250, Lambda#313, Constant#314
Value
319
Return ← Call#318
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant object 104289c3e088 (Array)
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
13
Constant 0x1
Int32
14
Constant function map (self-hosted:163) at 104289c47920
Object
15
GuardSpecificFunction ← Constant#10, Constant#14
Object
16
Goto → block 1
Block 1
17
Constant undefined
Undefined
18
Constant function ToObject at 104289c6c740
Object
19
DebugCheckSelfHosted ← Constant#18
Value
20
Constant undefined
Undefined
21
Constant 0x1
Int32
22
Unbox Parameter#1 to Object (fallible)
Object
23
Constant function ToLength at 104289c6c778
Object
24
DebugCheckSelfHosted ← Constant#23
Value
25
Constant undefined
Undefined
26
GuardShape ← Unbox#22
Object
27
Elements ← GuardShape#26
Elements
28
ArrayLength ← Elements#27
Int32
29
Constant 0x1
Int32
30
Constant 0x0
Int32
31
MinMax ← ArrayLength#28, Constant#30 (max)
Int32
32
Constant 0x1
Int32
33
Constant 0x0
Int32
34
Compare ← Constant#32, Constant#33 StrictEq
Bool
35
Test ← Compare#34 → block 2, block 3
1
0
Block 2
36
CallGetIntrinsicValue
Value
37
DebugCheckSelfHosted ← CallGetIntrinsicValue#36
Value
38
Constant undefined
Undefined
39
Constant 0x37
Int32
40
Constant 0x0
Int32
41
Constant string 104289c2e080
String
42
Bail
325
Unreachable
Block 3
45
Constant function IsCallable at 104289c6c7b0
Object
46
DebugCheckSelfHosted ← Constant#45
Value
47
Constant undefined
Undefined
48
Constant 0x1
Int32
49
IsCallable ← Lambda#12
Bool
50
Test ← IsCallable#49 → block 5, block 4
1
0
Block 4
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Constant undefined
Undefined
54
Constant 0xc
Int32
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x0
Int32
59
Bail
324
Unreachable
Block 5
64
Constant 0x1
Int32
65
Constant 0x1
Int32
66
Compare ← Constant#64, Constant#65 Gt
Bool
67
Test ← Compare#66 → block 6, block 7
1
0
Block 6
68
Constant 0x1
Int32
69
GetInlinedArgument ← Constant#68, Lambda#12
Value
70
Goto → block 8
Block 7
71
Constant undefined
Undefined
72
Goto → block 8
Block 8
73
Phi ← Constant#71, GetInlinedArgument#69
Value
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
DebugCheckSelfHosted ← Constant#74
Value
76
Constant undefined
Undefined
77
Constant 0x1
Int32
78
HasShape ← Unbox#22
Bool
79
Test ← HasShape#78 → block 9, block 10
1
0
Block 9
80
Constant function std_Array at 104289c6c820
Object
81
DebugCheckSelfHosted ← Constant#80
Value
82
Constant undefined
Undefined
83
Constant 0x1
Int32
84
Unbox DebugCheckSelfHosted#81 to Object (fallible)
Object
85
Constant function std_Array at 104289c6c820
Object
86
GuardSpecificFunction ← Unbox#84, Constant#85
Object
87
NewArrayDynamicLength ← MinMax#31
Object
88
Goto → block 11
Block 10
89
CallGetIntrinsicValue
Value
90
DebugCheckSelfHosted ← CallGetIntrinsicValue#89
Value
91
Constant undefined
Undefined
92
Bail
323
Unreachable
Block 11
95
Phi ← NewArrayDynamicLength#87
Value
96
Constant 0x0
Int32
108
Goto → block 12
Block 12 (loop header)
97
Phi ← Constant#17, Constant#17
Value
98
Phi ← Constant#17, Constant#17
Value
99
Phi ← Parameter#1, Parameter#1
Value
100
Phi ← Lambda#12, Lambda#12
Value
101
Phi ← Unbox#22, Unbox#22
Value
102
Phi ← MinMax#31, MinMax#31
Value
103
Phi ← Phi#73, Phi#73
Value
104
Phi ← Phi#95, Phi#95
Value
105
Phi ← Constant#96, Add#153
Value
106
Phi ← Constant#17, Phi#150
Value
107
Phi ← Parameter#1, Parameter#1
Value
109
InterruptCheck
110
Unbox Phi#105 to Int32 (fallible)
Int32
111
Unbox Phi#102 to Int32 (fallible)
Int32
112
Compare ← Unbox#110, Unbox#111 Lt
Bool
113
Test ← Compare#112 → block 13, block 19
1
0
Block 13
114
Unbox Phi#101 to Object (fallible)
Object
115
Unbox Phi#105 to Int32 (fallible)
Int32
116
GuardShape ← Unbox#114
Object
117
Elements ← GuardShape#116
Elements
118
InitializedLength ← Elements#117
Int32
119
BoundsCheck ← Unbox#115, InitializedLength#118
Int32
120
SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118
Int32
121
GuardElementNotHole ← Elements#117, SpectreMaskIndex#120
122
Constant true
Bool
123
Test ← Constant#122 → block 14, block 17
1
0
Block 14
124
Unbox Phi#101 to Object (fallible)
Object
125
Unbox Phi#105 to Int32 (fallible)
Int32
126
GuardShape ← Unbox#124
Object
127
Elements ← GuardShape#126
Elements
128
InitializedLength ← Elements#127
Int32
129
BoundsCheck ← Unbox#125, InitializedLength#128
Int32
130
SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128
Int32
131
GuardElementsArePacked ← Elements#127
132
LoadElement ← Elements#127, SpectreMaskIndex#130
Value
133
Constant 0x3
Int32
134
Unbox Phi#100 to Object (fallible)
Object
135
GuardToFunction ← Unbox#134
Object
136
GuardFunctionScript ← GuardToFunction#135
Object
137
Goto → block 15
Block 15
138
Constant undefined
Undefined
139
Constant 0x2
Int32
140
Unbox LoadElement#132 to Double (fallible)
Double
141
Mul ← Unbox#140, Constant#139 [double]
Double
143
Goto → block 16
Block 16
144
Unbox Phi#104 to Object (fallible)
Object
145
Unbox Phi#105 to Int32 (fallible)
Int32
146
GuardShape ← Unbox#144
Object
147
Elements ← GuardShape#146
Elements
148
StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141
149
Goto → block 17
Block 17 (backedge)
150
Phi ← Mul#141, Phi#106
Value
151
Unbox Phi#105 to Int32 (fallible)
Int32
152
Constant 0x1
Int32
153
Add ← Unbox#151, Constant#152 [int32]
Int32
154
Goto → block 12
Block 19
157
Unbox Phi#104 to Object (fallible)
Object
158
GuardShape ← Unbox#157
Object
159
Constant object 104289c3e088 (Array)
Object
160
Constant function filter (self-hosted:183) at 104289c47970
Object
161
Constant function complex4/< (-e:18) at 104289c63d60
Object
162
Lambda ← FunctionEnvironment#6, Constant#161
Object
163
Constant 0x1
Int32
164
Constant function filter (self-hosted:183) at 104289c47970
Object
165
GuardSpecificFunction ← Constant#160, Constant#164
Object
166
Goto → block 20
Block 20
167
Constant undefined
Undefined
168
Constant function ToObject at 104289c6c740
Object
169
DebugCheckSelfHosted ← Constant#168
Value
170
Constant undefined
Undefined
171
Constant 0x1
Int32
172
Unbox Phi#104 to Object (fallible)
Object
173
Constant function ToLength at 104289c6c778
Object
174
DebugCheckSelfHosted ← Constant#173
Value
175
Constant undefined
Undefined
176
GuardShape ← Unbox#172
Object
177
Elements ← GuardShape#176
Elements
178
ArrayLength ← Elements#177
Int32
179
Constant 0x1
Int32
180
Constant 0x0
Int32
181
MinMax ← ArrayLength#178, Constant#180 (max)
Int32
182
Constant 0x1
Int32
183
Constant 0x0
Int32
184
Compare ← Constant#182, Constant#183 StrictEq
Bool
185
Test ← Compare#184 → block 21, block 22
1
0
Block 21
186
CallGetIntrinsicValue
Value
187
DebugCheckSelfHosted ← CallGetIntrinsicValue#186
Value
188
Constant undefined
Undefined
189
Constant 0x37
Int32
190
Constant 0x0
Int32
191
Constant string 104289c28540
String
192
Bail
322
Unreachable
Block 22
195
Constant function IsCallable at 104289c6c7b0
Object
196
DebugCheckSelfHosted ← Constant#195
Value
197
Constant undefined
Undefined
198
Constant 0x1
Int32
199
IsCallable ← Lambda#162
Bool
200
Test ← IsCallable#199 → block 24, block 23
1
0
Block 23
201
CallGetIntrinsicValue
Value
202
DebugCheckSelfHosted ← CallGetIntrinsicValue#201
Value
203
Constant undefined
Undefined
204
Constant 0xc
Int32
205
CallGetIntrinsicValue
Value
206
DebugCheckSelfHosted ← CallGetIntrinsicValue#205
Value
207
Constant undefined
Undefined
208
Constant 0x0
Int32
209
Bail
321
Unreachable
Block 24
214
Constant 0x1
Int32
215
Constant 0x1
Int32
216
Compare ← Constant#214, Constant#215 Gt
Bool
217
Test ← Compare#216 → block 25, block 26
1
0
Block 25
218
Constant 0x1
Int32
219
GetInlinedArgument ← Constant#218, Lambda#162
Value
220
Goto → block 27
Block 26
221
Constant undefined
Undefined
222
Goto → block 27
Block 27
223
Phi ← Constant#221, GetInlinedArgument#219
Value
224
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
225
DebugCheckSelfHosted ← Constant#224
Value
226
Constant undefined
Undefined
227
Constant 0x1
Int32
228
HasShape ← Unbox#172
Bool
229
Test ← HasShape#228 → block 28, block 29
1
0
Block 28
230
Constant shape at 104289c64f00
Shape
231
NewArrayObject ← Constant#230
Object
232
Goto → block 30
Block 29
233
CallGetIntrinsicValue
Value
234
DebugCheckSelfHosted ← CallGetIntrinsicValue#233
Value
235
Constant undefined
Undefined
236
Constant 0x0
Int32
237
Bail
320
Unreachable
Block 30
240
Phi ← NewArrayObject#231
Value
241
Constant 0x0
Int32
242
Constant 0x0
Int32
255
Goto → block 31
Block 31 (loop header)
243
Phi ← Constant#167, Constant#167
Value
244
Phi ← Constant#167, Constant#167
Value
245
Phi ← Phi#104, Phi#104
Value
246
Phi ← Lambda#162, Lambda#162
Value
247
Phi ← Unbox#172, Unbox#172
Value
248
Phi ← MinMax#181, MinMax#181
Value
249
Phi ← Phi#223, Phi#223
Value
250
Phi ← Phi#240, Phi#240
Value
251
Phi ← Constant#241, Add#304
Value
252
Phi ← Constant#242, Phi#300
Value
253
Phi ← Constant#167, Phi#301
Value
254
Phi ← Phi#104, Phi#104
Value
256
InterruptCheck
257
Unbox Phi#251 to Int32 (fallible)
Int32
258
Unbox Phi#248 to Int32 (fallible)
Int32
259
Compare ← Unbox#257, Unbox#258 Lt
Bool
260
Test ← Compare#259 → block 32, block 39
1
0
Block 32
261
Unbox Phi#247 to Object (fallible)
Object
262
Unbox Phi#251 to Int32 (fallible)
Int32
263
GuardShape ← Unbox#261
Object
264
Elements ← GuardShape#263
Elements
265
InitializedLength ← Elements#264
Int32
266
BoundsCheck ← Unbox#262, InitializedLength#265
Int32
267
SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265
Int32
268
GuardElementNotHole ← Elements#264, SpectreMaskIndex#267
269
Constant true
Bool
270
Test ← Constant#269 → block 33, block 37
1
0
Block 33
271
Unbox Phi#247 to Object (fallible)
Object
272
Unbox Phi#251 to Int32 (fallible)
Int32
273
GuardShape ← Unbox#271
Object
274
Elements ← GuardShape#273
Elements
275
InitializedLength ← Elements#274
Int32
276
BoundsCheck ← Unbox#272, InitializedLength#275
Int32
277
SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275
Int32
278
GuardElementsArePacked ← Elements#274
279
LoadElement ← Elements#274, SpectreMaskIndex#277
Value
280
Constant 0x3
Int32
281
Unbox Phi#246 to Object (fallible)
Object
282
GuardToFunction ← Unbox#281
Object
283
GuardFunctionScript ← GuardToFunction#282
Object
284
Goto → block 34
Block 34
285
Constant undefined
Undefined
286
Constant 0x32
Int32
287
Unbox LoadElement#279 to Double (fallible)
Double
288
Compare ← Unbox#287, Constant#286 Gt
Bool
290
Goto → block 35
Block 35
291
Test ← Compare#288 → block 36, block 37
1
0
Block 36
292
Unbox Phi#252 to Int32 (fallible)
Int32
293
Constant 0x1
Int32
294
Add ← Unbox#292, Constant#293 [int32]
Int32
295
Unbox Phi#250 to Object (fallible)
Object
296
GuardShape ← Unbox#295
Object
297
Elements ← GuardShape#296
Elements
298
StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279
299
Goto → block 37
Block 37 (backedge)
300
Phi ← Add#294, Phi#252, Phi#252
Value
301
Phi ← LoadElement#279, Phi#253, LoadElement#279
Value
302
Unbox Phi#251 to Int32 (fallible)
Int32
303
Constant 0x1
Int32
304
Add ← Unbox#302, Constant#303 [int32]
Int32
305
Goto → block 31
Block 39
308
Unbox Phi#250 to Object (fallible)
Object
309
GuardShape ← Unbox#308
Object
310
Constant object 104289c3e088 (Array)
Object
311
Constant function reduce (self-hosted:205) at 104289c479c0
Object
312
Constant function complex4/< (-e:18) at 104289c63d98
Object
313
Lambda ← FunctionEnvironment#6, Constant#312
Object
314
Constant 0x0
Int32
315
Constant 0x2
Int32
316
Constant function reduce (self-hosted:205) at 104289c479c0
Object
317
GuardSpecificFunction ← Constant#311, Constant#316
Object
318
Call ← GuardSpecificFunction#317, Phi#250, Lambda#313, Constant#314
Value
319
Return ← Call#318
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant object 104289c3e088 (Array)
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
13
Constant 0x1
Int32
14
Constant function map (self-hosted:163) at 104289c47920
Object
15
GuardSpecificFunction ← Constant#10, Constant#14
Object
16
Goto → block 1
Block 1
17
Constant undefined
Undefined
18
Constant function ToObject at 104289c6c740
Object
19
DebugCheckSelfHosted ← Constant#18
Value
20
Constant undefined
Undefined
21
Constant 0x1
Int32
22
Unbox Parameter#1 to Object (fallible)
Object
23
Constant function ToLength at 104289c6c778
Object
24
DebugCheckSelfHosted ← Constant#23
Value
25
Constant undefined
Undefined
26
GuardShape ← Unbox#22
Object
27
Elements ← GuardShape#26
Elements
28
ArrayLength ← Elements#27
Int32
29
Constant 0x1
Int32
30
Constant 0x0
Int32
31
MinMax ← ArrayLength#28, Constant#30 (max)
Int32
32
Constant 0x1
Int32
33
Constant 0x0
Int32
34
Compare ← Constant#32, Constant#33 StrictEq
Bool
35
Test ← Compare#34 → block 2, block 3
1
0
Block 2
36
CallGetIntrinsicValue
Value
37
DebugCheckSelfHosted ← CallGetIntrinsicValue#36
Value
38
Constant undefined
Undefined
39
Constant 0x37
Int32
40
Constant 0x0
Int32
41
Constant string 104289c2e080
String
42
Bail
325
Unreachable
Block 3
45
Constant function IsCallable at 104289c6c7b0
Object
46
DebugCheckSelfHosted ← Constant#45
Value
47
Constant undefined
Undefined
48
Constant 0x1
Int32
49
IsCallable ← Lambda#12
Bool
50
Test ← IsCallable#49 → block 5, block 4
1
0
Block 4
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Constant undefined
Undefined
54
Constant 0xc
Int32
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x0
Int32
59
Bail
324
Unreachable
Block 5
64
Constant 0x1
Int32
65
Constant 0x1
Int32
66
Compare ← Constant#64, Constant#65 Gt
Bool
67
Test ← Compare#66 → block 6, block 7
1
0
Block 6
68
Constant 0x1
Int32
69
GetInlinedArgument ← Constant#68, Lambda#12
Value
70
Goto → block 8
Block 7
71
Constant undefined
Undefined
72
Goto → block 8
Block 8
73
Phi ← Constant#71, GetInlinedArgument#69
Value
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
DebugCheckSelfHosted ← Constant#74
Value
76
Constant undefined
Undefined
77
Constant 0x1
Int32
78
HasShape ← Unbox#22
Bool
79
Test ← HasShape#78 → block 9, block 10
1
0
Block 9
80
Constant function std_Array at 104289c6c820
Object
81
DebugCheckSelfHosted ← Constant#80
Value
82
Constant undefined
Undefined
83
Constant 0x1
Int32
84
Unbox DebugCheckSelfHosted#81 to Object (fallible)
Object
85
Constant function std_Array at 104289c6c820
Object
86
GuardSpecificFunction ← Unbox#84, Constant#85
Object
87
NewArrayDynamicLength ← MinMax#31
Object
88
Goto → block 11
Block 10
89
CallGetIntrinsicValue
Value
90
DebugCheckSelfHosted ← CallGetIntrinsicValue#89
Value
91
Constant undefined
Undefined
92
Bail
323
Unreachable
Block 11
95
Phi ← NewArrayDynamicLength#87
Value
96
Constant 0x0
Int32
108
Goto → block 12
Block 12 (loop header)
97
Phi ← Constant#17, Constant#17
Value
98
Phi ← Constant#17, Constant#17
Value
99
Phi ← Parameter#1, Parameter#1
Value
100
Phi ← Lambda#12, Lambda#12
Value
101
Phi ← Unbox#22, Unbox#22
Value
102
Phi ← MinMax#31, MinMax#31
Value
103
Phi ← Phi#73, Phi#73
Value
104
Phi ← Phi#95, Phi#95
Value
105
Phi ← Constant#96, Add#153
Value
106
Phi ← Constant#17, Phi#150
Value
107
Phi ← Parameter#1, Parameter#1
Value
109
InterruptCheck
110
Unbox Phi#105 to Int32 (fallible)
Int32
111
Unbox Phi#102 to Int32 (fallible)
Int32
112
Compare ← Unbox#110, Unbox#111 Lt
Bool
113
Test ← Compare#112 → block 13, block 19
1
0
Block 13
114
Unbox Phi#101 to Object (fallible)
Object
115
Unbox Phi#105 to Int32 (fallible)
Int32
116
GuardShape ← Unbox#114
Object
117
Elements ← GuardShape#116
Elements
118
InitializedLength ← Elements#117
Int32
119
BoundsCheck ← Unbox#115, InitializedLength#118
Int32
120
SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118
Int32
121
GuardElementNotHole ← Elements#117, SpectreMaskIndex#120
122
Constant true
Bool
123
Test ← Constant#122 → block 14, block 17
1
0
Block 14
124
Unbox Phi#101 to Object (fallible)
Object
125
Unbox Phi#105 to Int32 (fallible)
Int32
126
GuardShape ← Unbox#124
Object
127
Elements ← GuardShape#126
Elements
128
InitializedLength ← Elements#127
Int32
129
BoundsCheck ← Unbox#125, InitializedLength#128
Int32
130
SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128
Int32
131
GuardElementsArePacked ← Elements#127
132
LoadElement ← Elements#127, SpectreMaskIndex#130
Value
133
Constant 0x3
Int32
134
Unbox Phi#100 to Object (fallible)
Object
135
GuardToFunction ← Unbox#134
Object
136
GuardFunctionScript ← GuardToFunction#135
Object
137
Goto → block 15
Block 15
138
Constant undefined
Undefined
139
Constant 0x2
Int32
140
Unbox LoadElement#132 to Double (fallible)
Double
141
Mul ← Unbox#140, Constant#139 [double]
Double
143
Goto → block 16
Block 16
144
Unbox Phi#104 to Object (fallible)
Object
145
Unbox Phi#105 to Int32 (fallible)
Int32
146
GuardShape ← Unbox#144
Object
147
Elements ← GuardShape#146
Elements
148
StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141
149
Goto → block 17
Block 17 (backedge)
150
Phi ← Mul#141, Phi#106
Value
151
Unbox Phi#105 to Int32 (fallible)
Int32
152
Constant 0x1
Int32
153
Add ← Unbox#151, Constant#152 [int32]
Int32
154
Goto → block 12
Block 19
157
Unbox Phi#104 to Object (fallible)
Object
158
GuardShape ← Unbox#157
Object
159
Constant object 104289c3e088 (Array)
Object
160
Constant function filter (self-hosted:183) at 104289c47970
Object
161
Constant function complex4/< (-e:18) at 104289c63d60
Object
162
Lambda ← FunctionEnvironment#6, Constant#161
Object
163
Constant 0x1
Int32
164
Constant function filter (self-hosted:183) at 104289c47970
Object
165
GuardSpecificFunction ← Constant#160, Constant#164
Object
166
Goto → block 20
Block 20
167
Constant undefined
Undefined
168
Constant function ToObject at 104289c6c740
Object
169
DebugCheckSelfHosted ← Constant#168
Value
170
Constant undefined
Undefined
171
Constant 0x1
Int32
172
Unbox Phi#104 to Object (fallible)
Object
173
Constant function ToLength at 104289c6c778
Object
174
DebugCheckSelfHosted ← Constant#173
Value
175
Constant undefined
Undefined
176
GuardShape ← Unbox#172
Object
177
Elements ← GuardShape#176
Elements
178
ArrayLength ← Elements#177
Int32
179
Constant 0x1
Int32
180
Constant 0x0
Int32
181
MinMax ← ArrayLength#178, Constant#180 (max)
Int32
182
Constant 0x1
Int32
183
Constant 0x0
Int32
184
Compare ← Constant#182, Constant#183 StrictEq
Bool
185
Test ← Compare#184 → block 21, block 22
1
0
Block 21
186
CallGetIntrinsicValue
Value
187
DebugCheckSelfHosted ← CallGetIntrinsicValue#186
Value
188
Constant undefined
Undefined
189
Constant 0x37
Int32
190
Constant 0x0
Int32
191
Constant string 104289c28540
String
192
Bail
322
Unreachable
Block 22
195
Constant function IsCallable at 104289c6c7b0
Object
196
DebugCheckSelfHosted ← Constant#195
Value
197
Constant undefined
Undefined
198
Constant 0x1
Int32
199
IsCallable ← Lambda#162
Bool
200
Test ← IsCallable#199 → block 24, block 23
1
0
Block 23
201
CallGetIntrinsicValue
Value
202
DebugCheckSelfHosted ← CallGetIntrinsicValue#201
Value
203
Constant undefined
Undefined
204
Constant 0xc
Int32
205
CallGetIntrinsicValue
Value
206
DebugCheckSelfHosted ← CallGetIntrinsicValue#205
Value
207
Constant undefined
Undefined
208
Constant 0x0
Int32
209
Bail
321
Unreachable
Block 24
214
Constant 0x1
Int32
215
Constant 0x1
Int32
216
Compare ← Constant#214, Constant#215 Gt
Bool
217
Test ← Compare#216 → block 25, block 26
1
0
Block 25
218
Constant 0x1
Int32
219
GetInlinedArgument ← Constant#218, Lambda#162
Value
220
Goto → block 27
Block 26
221
Constant undefined
Undefined
222
Goto → block 27
Block 27
223
Phi ← Constant#221, GetInlinedArgument#219
Value
224
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
225
DebugCheckSelfHosted ← Constant#224
Value
226
Constant undefined
Undefined
227
Constant 0x1
Int32
228
HasShape ← Unbox#172
Bool
229
Test ← HasShape#228 → block 28, block 29
1
0
Block 28
230
Constant shape at 104289c64f00
Shape
231
NewArrayObject ← Constant#230
Object
232
Goto → block 30
Block 29
233
CallGetIntrinsicValue
Value
234
DebugCheckSelfHosted ← CallGetIntrinsicValue#233
Value
235
Constant undefined
Undefined
236
Constant 0x0
Int32
237
Bail
320
Unreachable
Block 30
240
Phi ← NewArrayObject#231
Value
241
Constant 0x0
Int32
242
Constant 0x0
Int32
255
Goto → block 31
Block 31 (loop header)
243
Phi ← Constant#167, Constant#167
Value
244
Phi ← Constant#167, Constant#167
Value
245
Phi ← Phi#104, Phi#104
Value
246
Phi ← Lambda#162, Lambda#162
Value
247
Phi ← Unbox#172, Unbox#172
Value
248
Phi ← MinMax#181, MinMax#181
Value
249
Phi ← Phi#223, Phi#223
Value
250
Phi ← Phi#240, Phi#240
Value
251
Phi ← Constant#241, Add#304
Value
252
Phi ← Constant#242, Phi#300
Value
253
Phi ← Constant#167, Phi#301
Value
254
Phi ← Phi#104, Phi#104
Value
256
InterruptCheck
257
Unbox Phi#251 to Int32 (fallible)
Int32
258
Unbox Phi#248 to Int32 (fallible)
Int32
259
Compare ← Unbox#257, Unbox#258 Lt
Bool
260
Test ← Compare#259 → block 32, block 39
1
0
Block 32
261
Unbox Phi#247 to Object (fallible)
Object
262
Unbox Phi#251 to Int32 (fallible)
Int32
263
GuardShape ← Unbox#261
Object
264
Elements ← GuardShape#263
Elements
265
InitializedLength ← Elements#264
Int32
266
BoundsCheck ← Unbox#262, InitializedLength#265
Int32
267
SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265
Int32
268
GuardElementNotHole ← Elements#264, SpectreMaskIndex#267
269
Constant true
Bool
270
Test ← Constant#269 → block 33, block 37
1
0
Block 33
271
Unbox Phi#247 to Object (fallible)
Object
272
Unbox Phi#251 to Int32 (fallible)
Int32
273
GuardShape ← Unbox#271
Object
274
Elements ← GuardShape#273
Elements
275
InitializedLength ← Elements#274
Int32
276
BoundsCheck ← Unbox#272, InitializedLength#275
Int32
277
SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275
Int32
278
GuardElementsArePacked ← Elements#274
279
LoadElement ← Elements#274, SpectreMaskIndex#277
Value
280
Constant 0x3
Int32
281
Unbox Phi#246 to Object (fallible)
Object
282
GuardToFunction ← Unbox#281
Object
283
GuardFunctionScript ← GuardToFunction#282
Object
284
Goto → block 34
Block 34
285
Constant undefined
Undefined
286
Constant 0x32
Int32
287
Unbox LoadElement#279 to Double (fallible)
Double
288
Compare ← Unbox#287, Constant#286 Gt
Bool
290
Goto → block 35
Block 35
291
Test ← Compare#288 → block 36, block 37
1
0
Block 36
292
Unbox Phi#252 to Int32 (fallible)
Int32
293
Constant 0x1
Int32
294
Add ← Unbox#292, Constant#293 [int32]
Int32
295
Unbox Phi#250 to Object (fallible)
Object
296
GuardShape ← Unbox#295
Object
297
Elements ← GuardShape#296
Elements
298
StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279
299
Goto → block 37
Block 37 (backedge)
300
Phi ← Add#294, Phi#252, Phi#252
Value
301
Phi ← LoadElement#279, Phi#253, LoadElement#279
Value
302
Unbox Phi#251 to Int32 (fallible)
Int32
303
Constant 0x1
Int32
304
Add ← Unbox#302, Constant#303 [int32]
Int32
305
Goto → block 31
Block 39
308
Unbox Phi#250 to Object (fallible)
Object
309
GuardShape ← Unbox#308
Object
310
Constant object 104289c3e088 (Array)
Object
311
Constant function reduce (self-hosted:205) at 104289c479c0
Object
312
Constant function complex4/< (-e:18) at 104289c63d98
Object
313
Lambda ← FunctionEnvironment#6, Constant#312
Object
314
Constant 0x0
Int32
315
Constant 0x2
Int32
316
Constant function reduce (self-hosted:205) at 104289c479c0
Object
317
GuardSpecificFunction ← Constant#311, Constant#316
Object
318
Call ← GuardSpecificFunction#317, Phi#250, Lambda#313, Constant#314
Value
319
Return ← Call#318
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant object 104289c3e088 (Array)
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
13
Constant 0x1
Int32
14
Constant function map (self-hosted:163) at 104289c47920
Object
15
GuardSpecificFunction ← Constant#10, Constant#14
Object
16
Goto → block 1
Block 1
17
Constant undefined
Undefined
18
Constant function ToObject at 104289c6c740
Object
19
DebugCheckSelfHosted ← Constant#18
Value
20
Constant undefined
Undefined
21
Constant 0x1
Int32
22
Unbox Parameter#1 to Object (fallible)
Object
23
Constant function ToLength at 104289c6c778
Object
24
DebugCheckSelfHosted ← Constant#23
Value
25
Constant undefined
Undefined
26
GuardShape ← Unbox#22
Object
27
Elements ← GuardShape#26
Elements
28
ArrayLength ← Elements#27
Int32
29
Constant 0x1
Int32
30
Constant 0x0
Int32
31
MinMax ← ArrayLength#28, Constant#30 (max)
Int32
32
Constant 0x1
Int32
33
Constant 0x0
Int32
34
Compare ← Constant#32, Constant#33 StrictEq
Bool
35
Test ← Compare#34 → block 2, block 3
1
0
Block 2
36
CallGetIntrinsicValue
Value
37
DebugCheckSelfHosted ← CallGetIntrinsicValue#36
Value
38
Constant undefined
Undefined
39
Constant 0x37
Int32
40
Constant 0x0
Int32
41
Constant string 104289c2e080
String
42
Bail
325
Unreachable
Block 3
45
Constant function IsCallable at 104289c6c7b0
Object
46
DebugCheckSelfHosted ← Constant#45
Value
47
Constant undefined
Undefined
48
Constant 0x1
Int32
49
IsCallable ← Lambda#12
Bool
50
Test ← IsCallable#49 → block 5, block 4
1
0
Block 4
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Constant undefined
Undefined
54
Constant 0xc
Int32
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x0
Int32
59
Bail
324
Unreachable
Block 5
64
Constant 0x1
Int32
65
Constant 0x1
Int32
66
Compare ← Constant#64, Constant#65 Gt
Bool
67
Test ← Compare#66 → block 6, block 7
1
0
Block 6
68
Constant 0x1
Int32
69
GetInlinedArgument ← Constant#68, Lambda#12
Value
70
Goto → block 8
Block 7
71
Constant undefined
Undefined
72
Goto → block 8
Block 8
73
Phi ← Constant#71, GetInlinedArgument#69
Value
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
DebugCheckSelfHosted ← Constant#74
Value
76
Constant undefined
Undefined
77
Constant 0x1
Int32
78
HasShape ← Unbox#22
Bool
79
Test ← HasShape#78 → block 9, block 10
1
0
Block 9
80
Constant function std_Array at 104289c6c820
Object
81
DebugCheckSelfHosted ← Constant#80
Value
82
Constant undefined
Undefined
83
Constant 0x1
Int32
84
Unbox DebugCheckSelfHosted#81 to Object (fallible)
Object
85
Constant function std_Array at 104289c6c820
Object
86
GuardSpecificFunction ← Unbox#84, Constant#85
Object
87
NewArrayDynamicLength ← MinMax#31
Object
88
Goto → block 11
Block 10
89
CallGetIntrinsicValue
Value
90
DebugCheckSelfHosted ← CallGetIntrinsicValue#89
Value
91
Constant undefined
Undefined
92
Bail
323
Unreachable
Block 11
95
Phi ← NewArrayDynamicLength#87
Value
96
Constant 0x0
Int32
108
Goto → block 12
Block 12 (loop header)
97
Phi ← Constant#17, Constant#17
Value
98
Phi ← Constant#17, Constant#17
Value
99
Phi ← Parameter#1, Parameter#1
Value
100
Phi ← Lambda#12, Lambda#12
Value
101
Phi ← Unbox#22, Unbox#22
Value
102
Phi ← MinMax#31, MinMax#31
Value
103
Phi ← Phi#73, Phi#73
Value
104
Phi ← Phi#95, Phi#95
Value
105
Phi ← Constant#96, Add#153
Value
106
Phi ← Constant#17, Phi#150
Value
107
Phi ← Parameter#1, Parameter#1
Value
109
InterruptCheck
110
Unbox Phi#105 to Int32 (fallible)
Int32
111
Unbox Phi#102 to Int32 (fallible)
Int32
112
Compare ← Unbox#110, Unbox#111 Lt
Bool
113
Test ← Compare#112 → block 13, block 19
1
0
Block 13
114
Unbox Phi#101 to Object (fallible)
Object
115
Unbox Phi#105 to Int32 (fallible)
Int32
116
GuardShape ← Unbox#114
Object
117
Elements ← GuardShape#116
Elements
118
InitializedLength ← Elements#117
Int32
119
BoundsCheck ← Unbox#115, InitializedLength#118
Int32
120
SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118
Int32
121
GuardElementNotHole ← Elements#117, SpectreMaskIndex#120
122
Constant true
Bool
123
Test ← Constant#122 → block 14, block 17
1
0
Block 14
124
Unbox Phi#101 to Object (fallible)
Object
125
Unbox Phi#105 to Int32 (fallible)
Int32
126
GuardShape ← Unbox#124
Object
127
Elements ← GuardShape#126
Elements
128
InitializedLength ← Elements#127
Int32
129
BoundsCheck ← Unbox#125, InitializedLength#128
Int32
130
SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128
Int32
131
GuardElementsArePacked ← Elements#127
132
LoadElement ← Elements#127, SpectreMaskIndex#130
Value
133
Constant 0x3
Int32
134
Unbox Phi#100 to Object (fallible)
Object
135
GuardToFunction ← Unbox#134
Object
136
GuardFunctionScript ← GuardToFunction#135
Object
137
Goto → block 15
Block 15
138
Constant undefined
Undefined
139
Constant 0x2
Int32
140
Unbox LoadElement#132 to Double (fallible)
Double
141
Mul ← Unbox#140, Constant#139 [double]
Double
143
Goto → block 16
Block 16
144
Unbox Phi#104 to Object (fallible)
Object
145
Unbox Phi#105 to Int32 (fallible)
Int32
146
GuardShape ← Unbox#144
Object
147
Elements ← GuardShape#146
Elements
148
StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141
149
Goto → block 17
Block 17 (backedge)
150
Phi ← Mul#141, Phi#106
Value
151
Unbox Phi#105 to Int32 (fallible)
Int32
152
Constant 0x1
Int32
153
Add ← Unbox#151, Constant#152 [int32]
Int32
154
Goto → block 12
Block 19
157
Unbox Phi#104 to Object (fallible)
Object
158
GuardShape ← Unbox#157
Object
159
Constant object 104289c3e088 (Array)
Object
160
Constant function filter (self-hosted:183) at 104289c47970
Object
161
Constant function complex4/< (-e:18) at 104289c63d60
Object
162
Lambda ← FunctionEnvironment#6, Constant#161
Object
163
Constant 0x1
Int32
164
Constant function filter (self-hosted:183) at 104289c47970
Object
165
GuardSpecificFunction ← Constant#160, Constant#164
Object
166
Goto → block 20
Block 20
167
Constant undefined
Undefined
168
Constant function ToObject at 104289c6c740
Object
169
DebugCheckSelfHosted ← Constant#168
Value
170
Constant undefined
Undefined
171
Constant 0x1
Int32
172
Unbox Phi#104 to Object (fallible)
Object
173
Constant function ToLength at 104289c6c778
Object
174
DebugCheckSelfHosted ← Constant#173
Value
175
Constant undefined
Undefined
176
GuardShape ← Unbox#172
Object
177
Elements ← GuardShape#176
Elements
178
ArrayLength ← Elements#177
Int32
179
Constant 0x1
Int32
180
Constant 0x0
Int32
181
MinMax ← ArrayLength#178, Constant#180 (max)
Int32
182
Constant 0x1
Int32
183
Constant 0x0
Int32
184
Compare ← Constant#182, Constant#183 StrictEq
Bool
185
Test ← Compare#184 → block 21, block 22
1
0
Block 21
186
CallGetIntrinsicValue
Value
187
DebugCheckSelfHosted ← CallGetIntrinsicValue#186
Value
188
Constant undefined
Undefined
189
Constant 0x37
Int32
190
Constant 0x0
Int32
191
Constant string 104289c28540
String
192
Bail
322
Unreachable
Block 22
195
Constant function IsCallable at 104289c6c7b0
Object
196
DebugCheckSelfHosted ← Constant#195
Value
197
Constant undefined
Undefined
198
Constant 0x1
Int32
199
IsCallable ← Lambda#162
Bool
200
Test ← IsCallable#199 → block 24, block 23
1
0
Block 23
201
CallGetIntrinsicValue
Value
202
DebugCheckSelfHosted ← CallGetIntrinsicValue#201
Value
203
Constant undefined
Undefined
204
Constant 0xc
Int32
205
CallGetIntrinsicValue
Value
206
DebugCheckSelfHosted ← CallGetIntrinsicValue#205
Value
207
Constant undefined
Undefined
208
Constant 0x0
Int32
209
Bail
321
Unreachable
Block 24
214
Constant 0x1
Int32
215
Constant 0x1
Int32
216
Compare ← Constant#214, Constant#215 Gt
Bool
217
Test ← Compare#216 → block 25, block 26
1
0
Block 25
218
Constant 0x1
Int32
219
GetInlinedArgument ← Constant#218, Lambda#162
Value
220
Goto → block 27
Block 26
221
Constant undefined
Undefined
222
Goto → block 27
Block 27
223
Phi ← Constant#221, GetInlinedArgument#219
Value
224
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
225
DebugCheckSelfHosted ← Constant#224
Value
226
Constant undefined
Undefined
227
Constant 0x1
Int32
228
HasShape ← Unbox#172
Bool
229
Test ← HasShape#228 → block 28, block 29
1
0
Block 28
230
Constant shape at 104289c64f00
Shape
231
NewArrayObject ← Constant#230
Object
232
Goto → block 30
Block 29
233
CallGetIntrinsicValue
Value
234
DebugCheckSelfHosted ← CallGetIntrinsicValue#233
Value
235
Constant undefined
Undefined
236
Constant 0x0
Int32
237
Bail
320
Unreachable
Block 30
240
Phi ← NewArrayObject#231
Value
241
Constant 0x0
Int32
242
Constant 0x0
Int32
255
Goto → block 31
Block 31 (loop header)
243
Phi ← Constant#167, Constant#167
Value
244
Phi ← Constant#167, Constant#167
Value
245
Phi ← Phi#104, Phi#104
Value
246
Phi ← Lambda#162, Lambda#162
Value
247
Phi ← Unbox#172, Unbox#172
Value
248
Phi ← MinMax#181, MinMax#181
Value
249
Phi ← Phi#223, Phi#223
Value
250
Phi ← Phi#240, Phi#240
Value
251
Phi ← Constant#241, Add#304
Value
252
Phi ← Constant#242, Phi#300
Value
253
Phi ← Constant#167, Phi#301
Value
254
Phi ← Phi#104, Phi#104
Value
256
InterruptCheck
257
Unbox Phi#251 to Int32 (fallible)
Int32
258
Unbox Phi#248 to Int32 (fallible)
Int32
259
Compare ← Unbox#257, Unbox#258 Lt
Bool
260
Test ← Compare#259 → block 32, block 39
1
0
Block 32
261
Unbox Phi#247 to Object (fallible)
Object
262
Unbox Phi#251 to Int32 (fallible)
Int32
263
GuardShape ← Unbox#261
Object
264
Elements ← GuardShape#263
Elements
265
InitializedLength ← Elements#264
Int32
266
BoundsCheck ← Unbox#262, InitializedLength#265
Int32
267
SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265
Int32
268
GuardElementNotHole ← Elements#264, SpectreMaskIndex#267
269
Constant true
Bool
270
Test ← Constant#269 → block 33, block 37
1
0
Block 33
271
Unbox Phi#247 to Object (fallible)
Object
272
Unbox Phi#251 to Int32 (fallible)
Int32
273
GuardShape ← Unbox#271
Object
274
Elements ← GuardShape#273
Elements
275
InitializedLength ← Elements#274
Int32
276
BoundsCheck ← Unbox#272, InitializedLength#275
Int32
277
SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275
Int32
278
GuardElementsArePacked ← Elements#274
279
LoadElement ← Elements#274, SpectreMaskIndex#277
Value
280
Constant 0x3
Int32
281
Unbox Phi#246 to Object (fallible)
Object
282
GuardToFunction ← Unbox#281
Object
283
GuardFunctionScript ← GuardToFunction#282
Object
284
Goto → block 34
Block 34
285
Constant undefined
Undefined
286
Constant 0x32
Int32
287
Unbox LoadElement#279 to Double (fallible)
Double
288
Compare ← Unbox#287, Constant#286 Gt
Bool
290
Goto → block 35
Block 35
291
Test ← Compare#288 → block 36, block 37
1
0
Block 36
292
Unbox Phi#252 to Int32 (fallible)
Int32
293
Constant 0x1
Int32
294
Add ← Unbox#292, Constant#293 [int32]
Int32
295
Unbox Phi#250 to Object (fallible)
Object
296
GuardShape ← Unbox#295
Object
297
Elements ← GuardShape#296
Elements
298
StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279
299
Goto → block 37
Block 37 (backedge)
300
Phi ← Add#294, Phi#252, Phi#252
Value
301
Phi ← LoadElement#279, Phi#253, LoadElement#279
Value
302
Unbox Phi#251 to Int32 (fallible)
Int32
303
Constant 0x1
Int32
304
Add ← Unbox#302, Constant#303 [int32]
Int32
305
Goto → block 31
Block 39
308
Unbox Phi#250 to Object (fallible)
Object
309
GuardShape ← Unbox#308
Object
310
Constant object 104289c3e088 (Array)
Object
311
Constant function reduce (self-hosted:205) at 104289c479c0
Object
312
Constant function complex4/< (-e:18) at 104289c63d98
Object
313
Lambda ← FunctionEnvironment#6, Constant#312
Object
314
Constant 0x0
Int32
315
Constant 0x2
Int32
316
Constant function reduce (self-hosted:205) at 104289c479c0
Object
317
GuardSpecificFunction ← Constant#311, Constant#316
Object
318
Call ← GuardSpecificFunction#317, Phi#250, Lambda#313, Constant#314
Value
319
Return ← Call#318
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant object 104289c3e088 (Array)
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
13
Constant 0x1
Int32
14
Constant function map (self-hosted:163) at 104289c47920
Object
15
GuardSpecificFunction ← Constant#10, Constant#14
Object
16
Goto → block 1
Block 1
17
Constant undefined
Undefined
18
Constant function ToObject at 104289c6c740
Object
19
DebugCheckSelfHosted ← Constant#18
Value
20
Constant undefined
Undefined
21
Constant 0x1
Int32
22
Unbox Parameter#1 to Object (fallible)
Object
23
Constant function ToLength at 104289c6c778
Object
24
DebugCheckSelfHosted ← Constant#23
Value
25
Constant undefined
Undefined
26
GuardShape ← Unbox#22
Object
27
Elements ← GuardShape#26
Elements
28
ArrayLength ← Elements#27
Int32
29
Constant 0x1
Int32
30
Constant 0x0
Int32
31
MinMax ← ArrayLength#28, Constant#30 (max)
Int32
32
Constant 0x1
Int32
33
Constant 0x0
Int32
34
Compare ← Constant#32, Constant#33 StrictEq
Bool
35
Test ← Compare#34 → block 2, block 3
1
0
Block 2
36
CallGetIntrinsicValue
Value
37
DebugCheckSelfHosted ← CallGetIntrinsicValue#36
Value
38
Constant undefined
Undefined
39
Constant 0x37
Int32
40
Constant 0x0
Int32
41
Constant string 104289c2e080
String
42
Bail
325
Unreachable
Block 3
45
Constant function IsCallable at 104289c6c7b0
Object
46
DebugCheckSelfHosted ← Constant#45
Value
47
Constant undefined
Undefined
48
Constant 0x1
Int32
49
IsCallable ← Lambda#12
Bool
50
Test ← IsCallable#49 → block 5, block 4
1
0
Block 4
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Constant undefined
Undefined
54
Constant 0xc
Int32
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x0
Int32
59
Bail
324
Unreachable
Block 5
64
Constant 0x1
Int32
65
Constant 0x1
Int32
66
Compare ← Constant#64, Constant#65 Gt
Bool
67
Test ← Compare#66 → block 6, block 7
1
0
Block 6
68
Constant 0x1
Int32
69
GetInlinedArgument ← Constant#68, Lambda#12
Value
70
Goto → block 8
Block 7
71
Constant undefined
Undefined
72
Goto → block 8
Block 8
73
Phi ← Constant#71, GetInlinedArgument#69
Value
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
DebugCheckSelfHosted ← Constant#74
Value
76
Constant undefined
Undefined
77
Constant 0x1
Int32
78
HasShape ← Unbox#22
Bool
79
Test ← HasShape#78 → block 9, block 10
1
0
Block 9
80
Constant function std_Array at 104289c6c820
Object
81
DebugCheckSelfHosted ← Constant#80
Value
82
Constant undefined
Undefined
83
Constant 0x1
Int32
84
Unbox DebugCheckSelfHosted#81 to Object (fallible)
Object
85
Constant function std_Array at 104289c6c820
Object
86
GuardSpecificFunction ← Unbox#84, Constant#85
Object
87
NewArrayDynamicLength ← MinMax#31
Object
88
Goto → block 11
Block 10
89
CallGetIntrinsicValue
Value
90
DebugCheckSelfHosted ← CallGetIntrinsicValue#89
Value
91
Constant undefined
Undefined
92
Bail
323
Unreachable
Block 11
95
Phi ← NewArrayDynamicLength#87
Value
96
Constant 0x0
Int32
108
Goto → block 12
Block 12 (loop header)
97
Phi ← Constant#17, Constant#17
Value
98
Phi ← Constant#17, Constant#17
Value
99
Phi ← Parameter#1, Parameter#1
Value
100
Phi ← Lambda#12, Lambda#12
Value
101
Phi ← Unbox#22, Unbox#22
Value
102
Phi ← MinMax#31, MinMax#31
Value
103
Phi ← Phi#73, Phi#73
Value
104
Phi ← Phi#95, Phi#95
Value
105
Phi ← Constant#96, Add#153
Value
106
Phi ← Constant#17, Phi#150
Value
107
Phi ← Parameter#1, Parameter#1
Value
109
InterruptCheck
110
Unbox Phi#105 to Int32 (fallible)
Int32
111
Unbox Phi#102 to Int32 (fallible)
Int32
112
Compare ← Unbox#110, Unbox#111 Lt
Bool
113
Test ← Compare#112 → block 13, block 19
1
0
Block 13
114
Unbox Phi#101 to Object (fallible)
Object
115
Unbox Phi#105 to Int32 (fallible)
Int32
116
GuardShape ← Unbox#114
Object
117
Elements ← GuardShape#116
Elements
118
InitializedLength ← Elements#117
Int32
119
BoundsCheck ← Unbox#115, InitializedLength#118
Int32
120
SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118
Int32
121
GuardElementNotHole ← Elements#117, SpectreMaskIndex#120
122
Constant true
Bool
123
Test ← Constant#122 → block 14, block 40
1
0
Block 40 (split edge)
326
Goto → block 17
Block 14
124
Unbox Phi#101 to Object (fallible)
Object
125
Unbox Phi#105 to Int32 (fallible)
Int32
126
GuardShape ← Unbox#124
Object
127
Elements ← GuardShape#126
Elements
128
InitializedLength ← Elements#127
Int32
129
BoundsCheck ← Unbox#125, InitializedLength#128
Int32
130
SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128
Int32
131
GuardElementsArePacked ← Elements#127
132
LoadElement ← Elements#127, SpectreMaskIndex#130
Value
133
Constant 0x3
Int32
134
Unbox Phi#100 to Object (fallible)
Object
135
GuardToFunction ← Unbox#134
Object
136
GuardFunctionScript ← GuardToFunction#135
Object
137
Goto → block 15
Block 15
138
Constant undefined
Undefined
139
Constant 0x2
Int32
140
Unbox LoadElement#132 to Double (fallible)
Double
141
Mul ← Unbox#140, Constant#139 [double]
Double
143
Goto → block 16
Block 16
144
Unbox Phi#104 to Object (fallible)
Object
145
Unbox Phi#105 to Int32 (fallible)
Int32
146
GuardShape ← Unbox#144
Object
147
Elements ← GuardShape#146
Elements
148
StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141
149
Goto → block 17
Block 17 (backedge)
150
Phi ← Mul#141, Phi#106
Value
151
Unbox Phi#105 to Int32 (fallible)
Int32
152
Constant 0x1
Int32
153
Add ← Unbox#151, Constant#152 [int32]
Int32
154
Goto → block 12
Block 19
157
Unbox Phi#104 to Object (fallible)
Object
158
GuardShape ← Unbox#157
Object
159
Constant object 104289c3e088 (Array)
Object
160
Constant function filter (self-hosted:183) at 104289c47970
Object
161
Constant function complex4/< (-e:18) at 104289c63d60
Object
162
Lambda ← FunctionEnvironment#6, Constant#161
Object
163
Constant 0x1
Int32
164
Constant function filter (self-hosted:183) at 104289c47970
Object
165
GuardSpecificFunction ← Constant#160, Constant#164
Object
166
Goto → block 20
Block 20
167
Constant undefined
Undefined
168
Constant function ToObject at 104289c6c740
Object
169
DebugCheckSelfHosted ← Constant#168
Value
170
Constant undefined
Undefined
171
Constant 0x1
Int32
172
Unbox Phi#104 to Object (fallible)
Object
173
Constant function ToLength at 104289c6c778
Object
174
DebugCheckSelfHosted ← Constant#173
Value
175
Constant undefined
Undefined
176
GuardShape ← Unbox#172
Object
177
Elements ← GuardShape#176
Elements
178
ArrayLength ← Elements#177
Int32
179
Constant 0x1
Int32
180
Constant 0x0
Int32
181
MinMax ← ArrayLength#178, Constant#180 (max)
Int32
182
Constant 0x1
Int32
183
Constant 0x0
Int32
184
Compare ← Constant#182, Constant#183 StrictEq
Bool
185
Test ← Compare#184 → block 21, block 22
1
0
Block 21
186
CallGetIntrinsicValue
Value
187
DebugCheckSelfHosted ← CallGetIntrinsicValue#186
Value
188
Constant undefined
Undefined
189
Constant 0x37
Int32
190
Constant 0x0
Int32
191
Constant string 104289c28540
String
192
Bail
322
Unreachable
Block 22
195
Constant function IsCallable at 104289c6c7b0
Object
196
DebugCheckSelfHosted ← Constant#195
Value
197
Constant undefined
Undefined
198
Constant 0x1
Int32
199
IsCallable ← Lambda#162
Bool
200
Test ← IsCallable#199 → block 24, block 23
1
0
Block 23
201
CallGetIntrinsicValue
Value
202
DebugCheckSelfHosted ← CallGetIntrinsicValue#201
Value
203
Constant undefined
Undefined
204
Constant 0xc
Int32
205
CallGetIntrinsicValue
Value
206
DebugCheckSelfHosted ← CallGetIntrinsicValue#205
Value
207
Constant undefined
Undefined
208
Constant 0x0
Int32
209
Bail
321
Unreachable
Block 24
214
Constant 0x1
Int32
215
Constant 0x1
Int32
216
Compare ← Constant#214, Constant#215 Gt
Bool
217
Test ← Compare#216 → block 25, block 26
1
0
Block 25
218
Constant 0x1
Int32
219
GetInlinedArgument ← Constant#218, Lambda#162
Value
220
Goto → block 27
Block 26
221
Constant undefined
Undefined
222
Goto → block 27
Block 27
223
Phi ← Constant#221, GetInlinedArgument#219
Value
224
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
225
DebugCheckSelfHosted ← Constant#224
Value
226
Constant undefined
Undefined
227
Constant 0x1
Int32
228
HasShape ← Unbox#172
Bool
229
Test ← HasShape#228 → block 28, block 29
1
0
Block 28
230
Constant shape at 104289c64f00
Shape
231
NewArrayObject ← Constant#230
Object
232
Goto → block 30
Block 29
233
CallGetIntrinsicValue
Value
234
DebugCheckSelfHosted ← CallGetIntrinsicValue#233
Value
235
Constant undefined
Undefined
236
Constant 0x0
Int32
237
Bail
320
Unreachable
Block 30
240
Phi ← NewArrayObject#231
Value
241
Constant 0x0
Int32
242
Constant 0x0
Int32
255
Goto → block 31
Block 31 (loop header)
243
Phi ← Constant#167, Constant#167
Value
244
Phi ← Constant#167, Constant#167
Value
245
Phi ← Phi#104, Phi#104
Value
246
Phi ← Lambda#162, Lambda#162
Value
247
Phi ← Unbox#172, Unbox#172
Value
248
Phi ← MinMax#181, MinMax#181
Value
249
Phi ← Phi#223, Phi#223
Value
250
Phi ← Phi#240, Phi#240
Value
251
Phi ← Constant#241, Add#304
Value
252
Phi ← Constant#242, Phi#300
Value
253
Phi ← Constant#167, Phi#301
Value
254
Phi ← Phi#104, Phi#104
Value
256
InterruptCheck
257
Unbox Phi#251 to Int32 (fallible)
Int32
258
Unbox Phi#248 to Int32 (fallible)
Int32
259
Compare ← Unbox#257, Unbox#258 Lt
Bool
260
Test ← Compare#259 → block 32, block 39
1
0
Block 32
261
Unbox Phi#247 to Object (fallible)
Object
262
Unbox Phi#251 to Int32 (fallible)
Int32
263
GuardShape ← Unbox#261
Object
264
Elements ← GuardShape#263
Elements
265
InitializedLength ← Elements#264
Int32
266
BoundsCheck ← Unbox#262, InitializedLength#265
Int32
267
SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265
Int32
268
GuardElementNotHole ← Elements#264, SpectreMaskIndex#267
269
Constant true
Bool
270
Test ← Constant#269 → block 33, block 41
1
0
Block 41 (split edge)
327
Goto → block 37
Block 33
271
Unbox Phi#247 to Object (fallible)
Object
272
Unbox Phi#251 to Int32 (fallible)
Int32
273
GuardShape ← Unbox#271
Object
274
Elements ← GuardShape#273
Elements
275
InitializedLength ← Elements#274
Int32
276
BoundsCheck ← Unbox#272, InitializedLength#275
Int32
277
SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275
Int32
278
GuardElementsArePacked ← Elements#274
279
LoadElement ← Elements#274, SpectreMaskIndex#277
Value
280
Constant 0x3
Int32
281
Unbox Phi#246 to Object (fallible)
Object
282
GuardToFunction ← Unbox#281
Object
283
GuardFunctionScript ← GuardToFunction#282
Object
284
Goto → block 34
Block 34
285
Constant undefined
Undefined
286
Constant 0x32
Int32
287
Unbox LoadElement#279 to Double (fallible)
Double
288
Compare ← Unbox#287, Constant#286 Gt
Bool
290
Goto → block 35
Block 35
291
Test ← Compare#288 → block 36, block 42
1
0
Block 42 (split edge)
328
Goto → block 37
Block 36
292
Unbox Phi#252 to Int32 (fallible)
Int32
293
Constant 0x1
Int32
294
Add ← Unbox#292, Constant#293 [int32]
Int32
295
Unbox Phi#250 to Object (fallible)
Object
296
GuardShape ← Unbox#295
Object
297
Elements ← GuardShape#296
Elements
298
StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279
299
Goto → block 37
Block 37 (backedge)
300
Phi ← Add#294, Phi#252, Phi#252
Value
301
Phi ← LoadElement#279, Phi#253, LoadElement#279
Value
302
Unbox Phi#251 to Int32 (fallible)
Int32
303
Constant 0x1
Int32
304
Add ← Unbox#302, Constant#303 [int32]
Int32
305
Goto → block 31
Block 39
308
Unbox Phi#250 to Object (fallible)
Object
309
GuardShape ← Unbox#308
Object
310
Constant object 104289c3e088 (Array)
Object
311
Constant function reduce (self-hosted:205) at 104289c479c0
Object
312
Constant function complex4/< (-e:18) at 104289c63d98
Object
313
Lambda ← FunctionEnvironment#6, Constant#312
Object
314
Constant 0x0
Int32
315
Constant 0x2
Int32
316
Constant function reduce (self-hosted:205) at 104289c479c0
Object
317
GuardSpecificFunction ← Constant#311, Constant#316
Object
318
Call ← GuardSpecificFunction#317, Phi#250, Lambda#313, Constant#314
Value
319
Return ← Call#318
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant object 104289c3e088 (Array)
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
13
Constant 0x1
Int32
14
Constant function map (self-hosted:163) at 104289c47920
Object
15
GuardSpecificFunction ← Constant#10, Constant#14
Object
16
Goto → block 1
Block 1
17
Constant undefined
Undefined
18
Constant function ToObject at 104289c6c740
Object
19
DebugCheckSelfHosted ← Constant#18
Value
20
Constant undefined
Undefined
21
Constant 0x1
Int32
22
Unbox Parameter#1 to Object (fallible)
Object
23
Constant function ToLength at 104289c6c778
Object
24
DebugCheckSelfHosted ← Constant#23
Value
25
Constant undefined
Undefined
26
GuardShape ← Unbox#22
Object
27
Elements ← GuardShape#26
Elements
28
ArrayLength ← Elements#27
Int32
29
Constant 0x1
Int32
30
Constant 0x0
Int32
31
MinMax ← ArrayLength#28, Constant#30 (max)
Int32
32
Constant 0x1
Int32
33
Constant 0x0
Int32
34
Compare ← Constant#32, Constant#33 StrictEq
Bool
35
Test ← Compare#34 → block 2, block 3
1
0
Block 2
36
CallGetIntrinsicValue
Value
37
DebugCheckSelfHosted ← CallGetIntrinsicValue#36
Value
38
Constant undefined
Undefined
39
Constant 0x37
Int32
40
Constant 0x0
Int32
41
Constant string 104289c2e080
String
42
Bail
325
Unreachable
Block 3
45
Constant function IsCallable at 104289c6c7b0
Object
46
DebugCheckSelfHosted ← Constant#45
Value
47
Constant undefined
Undefined
48
Constant 0x1
Int32
49
IsCallable ← Lambda#12
Bool
50
Test ← IsCallable#49 → block 5, block 4
1
0
Block 4
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Constant undefined
Undefined
54
Constant 0xc
Int32
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x0
Int32
59
Bail
324
Unreachable
Block 5
64
Constant 0x1
Int32
65
Constant 0x1
Int32
66
Compare ← Constant#64, Constant#65 Gt
Bool
67
Test ← Compare#66 → block 6, block 7
1
0
Block 6
68
Constant 0x1
Int32
69
GetInlinedArgument ← Constant#68, Lambda#12
Value
70
Goto → block 8
Block 7
71
Constant undefined
Undefined
72
Goto → block 8
Block 8
73
Phi ← Constant#71, GetInlinedArgument#69
Value
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
DebugCheckSelfHosted ← Constant#74
Value
76
Constant undefined
Undefined
77
Constant 0x1
Int32
78
HasShape ← Unbox#22
Bool
79
Test ← HasShape#78 → block 9, block 10
1
0
Block 9
80
Constant function std_Array at 104289c6c820
Object
81
DebugCheckSelfHosted ← Constant#80
Value
82
Constant undefined
Undefined
83
Constant 0x1
Int32
84
Unbox DebugCheckSelfHosted#81 to Object (fallible)
Object
85
Constant function std_Array at 104289c6c820
Object
86
GuardSpecificFunction ← Unbox#84, Constant#85
Object
87
NewArrayDynamicLength ← MinMax#31
Object
88
Goto → block 11
Block 10
89
CallGetIntrinsicValue
Value
90
DebugCheckSelfHosted ← CallGetIntrinsicValue#89
Value
91
Constant undefined
Undefined
92
Bail
323
Unreachable
Block 11
95
Phi ← NewArrayDynamicLength#87
Value
96
Constant 0x0
Int32
108
Goto → block 12
Block 12 (loop header)
97
Phi ← Constant#17, Constant#17
Value
98
Phi ← Constant#17, Constant#17
Value
99
Phi ← Parameter#1, Parameter#1
Value
100
Phi ← Lambda#12, Lambda#12
Value
101
Phi ← Unbox#22, Unbox#22
Value
102
Phi ← MinMax#31, MinMax#31
Value
103
Phi ← Phi#73, Phi#73
Value
104
Phi ← Phi#95, Phi#95
Value
105
Phi ← Constant#96, Add#153
Value
106
Phi ← Constant#17, Phi#150
Value
107
Phi ← Parameter#1, Parameter#1
Value
109
InterruptCheck
110
Unbox Phi#105 to Int32 (fallible)
Int32
111
Unbox Phi#102 to Int32 (fallible)
Int32
112
Compare ← Unbox#110, Unbox#111 Lt
Bool
113
Test ← Compare#112 → block 13, block 19
1
0
Block 13
114
Unbox Phi#101 to Object (fallible)
Object
115
Unbox Phi#105 to Int32 (fallible)
Int32
116
GuardShape ← Unbox#114
Object
117
Elements ← GuardShape#116
Elements
118
InitializedLength ← Elements#117
Int32
119
BoundsCheck ← Unbox#115, InitializedLength#118
Int32
120
SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118
Int32
121
GuardElementNotHole ← Elements#117, SpectreMaskIndex#120
122
Constant true
Bool
123
Test ← Constant#122 → block 15, block 14
1
0
Block 14 (split edge)
326
Goto → block 18
Block 15
124
Unbox Phi#101 to Object (fallible)
Object
125
Unbox Phi#105 to Int32 (fallible)
Int32
126
GuardShape ← Unbox#124
Object
127
Elements ← GuardShape#126
Elements
128
InitializedLength ← Elements#127
Int32
129
BoundsCheck ← Unbox#125, InitializedLength#128
Int32
130
SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128
Int32
131
GuardElementsArePacked ← Elements#127
132
LoadElement ← Elements#127, SpectreMaskIndex#130
Value
133
Constant 0x3
Int32
134
Unbox Phi#100 to Object (fallible)
Object
135
GuardToFunction ← Unbox#134
Object
136
GuardFunctionScript ← GuardToFunction#135
Object
137
Goto → block 16
Block 16
138
Constant undefined
Undefined
139
Constant 0x2
Int32
140
Unbox LoadElement#132 to Double (fallible)
Double
141
Mul ← Unbox#140, Constant#139 [double]
Double
143
Goto → block 17
Block 17
144
Unbox Phi#104 to Object (fallible)
Object
145
Unbox Phi#105 to Int32 (fallible)
Int32
146
GuardShape ← Unbox#144
Object
147
Elements ← GuardShape#146
Elements
148
StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141
149
Goto → block 18
Block 18 (backedge)
150
Phi ← Mul#141, Phi#106
Value
151
Unbox Phi#105 to Int32 (fallible)
Int32
152
Constant 0x1
Int32
153
Add ← Unbox#151, Constant#152 [int32]
Int32
154
Goto → block 12
Block 19
157
Unbox Phi#104 to Object (fallible)
Object
158
GuardShape ← Unbox#157
Object
159
Constant object 104289c3e088 (Array)
Object
160
Constant function filter (self-hosted:183) at 104289c47970
Object
161
Constant function complex4/< (-e:18) at 104289c63d60
Object
162
Lambda ← FunctionEnvironment#6, Constant#161
Object
163
Constant 0x1
Int32
164
Constant function filter (self-hosted:183) at 104289c47970
Object
165
GuardSpecificFunction ← Constant#160, Constant#164
Object
166
Goto → block 20
Block 20
167
Constant undefined
Undefined
168
Constant function ToObject at 104289c6c740
Object
169
DebugCheckSelfHosted ← Constant#168
Value
170
Constant undefined
Undefined
171
Constant 0x1
Int32
172
Unbox Phi#104 to Object (fallible)
Object
173
Constant function ToLength at 104289c6c778
Object
174
DebugCheckSelfHosted ← Constant#173
Value
175
Constant undefined
Undefined
176
GuardShape ← Unbox#172
Object
177
Elements ← GuardShape#176
Elements
178
ArrayLength ← Elements#177
Int32
179
Constant 0x1
Int32
180
Constant 0x0
Int32
181
MinMax ← ArrayLength#178, Constant#180 (max)
Int32
182
Constant 0x1
Int32
183
Constant 0x0
Int32
184
Compare ← Constant#182, Constant#183 StrictEq
Bool
185
Test ← Compare#184 → block 21, block 22
1
0
Block 21
186
CallGetIntrinsicValue
Value
187
DebugCheckSelfHosted ← CallGetIntrinsicValue#186
Value
188
Constant undefined
Undefined
189
Constant 0x37
Int32
190
Constant 0x0
Int32
191
Constant string 104289c28540
String
192
Bail
322
Unreachable
Block 22
195
Constant function IsCallable at 104289c6c7b0
Object
196
DebugCheckSelfHosted ← Constant#195
Value
197
Constant undefined
Undefined
198
Constant 0x1
Int32
199
IsCallable ← Lambda#162
Bool
200
Test ← IsCallable#199 → block 24, block 23
1
0
Block 23
201
CallGetIntrinsicValue
Value
202
DebugCheckSelfHosted ← CallGetIntrinsicValue#201
Value
203
Constant undefined
Undefined
204
Constant 0xc
Int32
205
CallGetIntrinsicValue
Value
206
DebugCheckSelfHosted ← CallGetIntrinsicValue#205
Value
207
Constant undefined
Undefined
208
Constant 0x0
Int32
209
Bail
321
Unreachable
Block 24
214
Constant 0x1
Int32
215
Constant 0x1
Int32
216
Compare ← Constant#214, Constant#215 Gt
Bool
217
Test ← Compare#216 → block 25, block 26
1
0
Block 25
218
Constant 0x1
Int32
219
GetInlinedArgument ← Constant#218, Lambda#162
Value
220
Goto → block 27
Block 26
221
Constant undefined
Undefined
222
Goto → block 27
Block 27
223
Phi ← Constant#221, GetInlinedArgument#219
Value
224
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
225
DebugCheckSelfHosted ← Constant#224
Value
226
Constant undefined
Undefined
227
Constant 0x1
Int32
228
HasShape ← Unbox#172
Bool
229
Test ← HasShape#228 → block 28, block 29
1
0
Block 28
230
Constant shape at 104289c64f00
Shape
231
NewArrayObject ← Constant#230
Object
232
Goto → block 30
Block 29
233
CallGetIntrinsicValue
Value
234
DebugCheckSelfHosted ← CallGetIntrinsicValue#233
Value
235
Constant undefined
Undefined
236
Constant 0x0
Int32
237
Bail
320
Unreachable
Block 30
240
Phi ← NewArrayObject#231
Value
241
Constant 0x0
Int32
242
Constant 0x0
Int32
255
Goto → block 31
Block 31 (loop header)
243
Phi ← Constant#167, Constant#167
Value
244
Phi ← Constant#167, Constant#167
Value
245
Phi ← Phi#104, Phi#104
Value
246
Phi ← Lambda#162, Lambda#162
Value
247
Phi ← Unbox#172, Unbox#172
Value
248
Phi ← MinMax#181, MinMax#181
Value
249
Phi ← Phi#223, Phi#223
Value
250
Phi ← Phi#240, Phi#240
Value
251
Phi ← Constant#241, Add#304
Value
252
Phi ← Constant#242, Phi#300
Value
253
Phi ← Constant#167, Phi#301
Value
254
Phi ← Phi#104, Phi#104
Value
256
InterruptCheck
257
Unbox Phi#251 to Int32 (fallible)
Int32
258
Unbox Phi#248 to Int32 (fallible)
Int32
259
Compare ← Unbox#257, Unbox#258 Lt
Bool
260
Test ← Compare#259 → block 32, block 40
1
0
Block 32
261
Unbox Phi#247 to Object (fallible)
Object
262
Unbox Phi#251 to Int32 (fallible)
Int32
263
GuardShape ← Unbox#261
Object
264
Elements ← GuardShape#263
Elements
265
InitializedLength ← Elements#264
Int32
266
BoundsCheck ← Unbox#262, InitializedLength#265
Int32
267
SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265
Int32
268
GuardElementNotHole ← Elements#264, SpectreMaskIndex#267
269
Constant true
Bool
270
Test ← Constant#269 → block 34, block 33
1
0
Block 33 (split edge)
327
Goto → block 39
Block 34
271
Unbox Phi#247 to Object (fallible)
Object
272
Unbox Phi#251 to Int32 (fallible)
Int32
273
GuardShape ← Unbox#271
Object
274
Elements ← GuardShape#273
Elements
275
InitializedLength ← Elements#274
Int32
276
BoundsCheck ← Unbox#272, InitializedLength#275
Int32
277
SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275
Int32
278
GuardElementsArePacked ← Elements#274
279
LoadElement ← Elements#274, SpectreMaskIndex#277
Value
280
Constant 0x3
Int32
281
Unbox Phi#246 to Object (fallible)
Object
282
GuardToFunction ← Unbox#281
Object
283
GuardFunctionScript ← GuardToFunction#282
Object
284
Goto → block 35
Block 35
285
Constant undefined
Undefined
286
Constant 0x32
Int32
287
Unbox LoadElement#279 to Double (fallible)
Double
288
Compare ← Unbox#287, Constant#286 Gt
Bool
290
Goto → block 36
Block 36
291
Test ← Compare#288 → block 38, block 37
1
0
Block 37 (split edge)
328
Goto → block 39
Block 38
292
Unbox Phi#252 to Int32 (fallible)
Int32
293
Constant 0x1
Int32
294
Add ← Unbox#292, Constant#293 [int32]
Int32
295
Unbox Phi#250 to Object (fallible)
Object
296
GuardShape ← Unbox#295
Object
297
Elements ← GuardShape#296
Elements
298
StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279
299
Goto → block 39
Block 39 (backedge)
300
Phi ← Add#294, Phi#252, Phi#252
Value
301
Phi ← LoadElement#279, Phi#253, LoadElement#279
Value
302
Unbox Phi#251 to Int32 (fallible)
Int32
303
Constant 0x1
Int32
304
Add ← Unbox#302, Constant#303 [int32]
Int32
305
Goto → block 31
Block 40
308
Unbox Phi#250 to Object (fallible)
Object
309
GuardShape ← Unbox#308
Object
310
Constant object 104289c3e088 (Array)
Object
311
Constant function reduce (self-hosted:205) at 104289c479c0
Object
312
Constant function complex4/< (-e:18) at 104289c63d98
Object
313
Lambda ← FunctionEnvironment#6, Constant#312
Object
314
Constant 0x0
Int32
315
Constant 0x2
Int32
316
Constant function reduce (self-hosted:205) at 104289c479c0
Object
317
GuardSpecificFunction ← Constant#311, Constant#316
Object
318
Call ← GuardSpecificFunction#317, Phi#250, Lambda#313, Constant#314
Value
319
Return ← Call#318
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant object 104289c3e088 (Array)
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
13
Constant 0x1
Int32
14
Constant function map (self-hosted:163) at 104289c47920
Object
15
GuardSpecificFunction ← Constant#10, Constant#14
Object
16
Goto → block 1
Block 1
17
Constant undefined
Undefined
18
Constant function ToObject at 104289c6c740
Object
19
DebugCheckSelfHosted ← Constant#18
Value
20
Constant undefined
Undefined
21
Constant 0x1
Int32
22
Unbox Parameter#1 to Object (fallible)
Object
23
Constant function ToLength at 104289c6c778
Object
24
DebugCheckSelfHosted ← Constant#23
Value
25
Constant undefined
Undefined
26
GuardShape ← Unbox#22
Object
27
Elements ← GuardShape#26
Elements
28
ArrayLength ← Elements#27
Int32
29
Constant 0x1
Int32
30
Constant 0x0
Int32
31
MinMax ← ArrayLength#28, Constant#30 (max)
Int32
32
Constant 0x1
Int32
33
Constant 0x0
Int32
34
Compare ← Constant#32, Constant#33 StrictEq
Bool
35
Test ← Compare#34 → block 2, block 3
1
0
Block 2
36
CallGetIntrinsicValue
Value
37
DebugCheckSelfHosted ← CallGetIntrinsicValue#36
Value
38
Constant undefined
Undefined
39
Constant 0x37
Int32
40
Constant 0x0
Int32
41
Constant string 104289c2e080
String
42
Bail
325
Unreachable
Block 3
45
Constant function IsCallable at 104289c6c7b0
Object
46
DebugCheckSelfHosted ← Constant#45
Value
47
Constant undefined
Undefined
48
Constant 0x1
Int32
49
IsCallable ← Lambda#12
Bool
50
Test ← IsCallable#49 → block 5, block 4
1
0
Block 4
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Constant undefined
Undefined
54
Constant 0xc
Int32
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x0
Int32
59
Bail
324
Unreachable
Block 5
64
Constant 0x1
Int32
65
Constant 0x1
Int32
66
Compare ← Constant#64, Constant#65 Gt
Bool
67
Test ← Compare#66 → block 6, block 7
1
0
Block 6
68
Constant 0x1
Int32
69
GetInlinedArgument ← Constant#68, Lambda#12
Value
70
Goto → block 8
Block 7
71
Constant undefined
Undefined
72
Goto → block 8
Block 8
73
Phi ← Constant#71, GetInlinedArgument#69
Value
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
DebugCheckSelfHosted ← Constant#74
Value
76
Constant undefined
Undefined
77
Constant 0x1
Int32
78
HasShape ← Unbox#22
Bool
79
Test ← HasShape#78 → block 9, block 10
1
0
Block 9
80
Constant function std_Array at 104289c6c820
Object
81
DebugCheckSelfHosted ← Constant#80
Value
82
Constant undefined
Undefined
83
Constant 0x1
Int32
84
Unbox DebugCheckSelfHosted#81 to Object (fallible)
Object
85
Constant function std_Array at 104289c6c820
Object
86
GuardSpecificFunction ← Unbox#84, Constant#85
Object
87
NewArrayDynamicLength ← MinMax#31
Object
88
Goto → block 11
Block 10
89
CallGetIntrinsicValue
Value
90
DebugCheckSelfHosted ← CallGetIntrinsicValue#89
Value
91
Constant undefined
Undefined
92
Bail
323
Unreachable
Block 11
96
Constant 0x0
Int32
108
Goto → block 12
Block 12 (loop header)
105
Phi ← Constant#96, Add#153
Value
334
Constant magic optimized-out
MagicOptimizedOut
109
InterruptCheck
110
Unbox Phi#105 to Int32 (fallible)
Int32
111
Unbox MinMax#31 to Int32 (fallible)
Int32
112
Compare ← Unbox#110, Unbox#111 Lt
Bool
113
Test ← Compare#112 → block 13, block 19
1
0
Block 13
339
Constant magic optimized-out
MagicOptimizedOut
114
Unbox Unbox#22 to Object (fallible)
Object
115
Unbox Phi#105 to Int32 (fallible)
Int32
116
GuardShape ← Unbox#114
Object
117
Elements ← GuardShape#116
Elements
118
InitializedLength ← Elements#117
Int32
119
BoundsCheck ← Unbox#115, InitializedLength#118
Int32
120
SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118
Int32
121
GuardElementNotHole ← Elements#117, SpectreMaskIndex#120
122
Constant true
Bool
123
Test ← Constant#122 → block 15, block 14
1
0
Block 14 (split edge)
336
Constant magic optimized-out
MagicOptimizedOut
326
Goto → block 18
Block 15
338
Constant magic optimized-out
MagicOptimizedOut
124
Unbox Unbox#22 to Object (fallible)
Object
125
Unbox Phi#105 to Int32 (fallible)
Int32
126
GuardShape ← Unbox#124
Object
127
Elements ← GuardShape#126
Elements
128
InitializedLength ← Elements#127
Int32
129
BoundsCheck ← Unbox#125, InitializedLength#128
Int32
130
SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128
Int32
131
GuardElementsArePacked ← Elements#127
132
LoadElement ← Elements#127, SpectreMaskIndex#130
Value
133
Constant 0x3
Int32
134
Unbox Lambda#12 to Object (fallible)
Object
135
GuardToFunction ← Unbox#134
Object
136
GuardFunctionScript ← GuardToFunction#135
Object
137
Goto → block 16
Block 16
138
Constant undefined
Undefined
139
Constant 0x2
Int32
140
Unbox LoadElement#132 to Double (fallible)
Double
141
Mul ← Unbox#140, Constant#139 [double]
Double
143
Goto → block 17
Block 17
337
Constant magic optimized-out
MagicOptimizedOut
144
Unbox NewArrayDynamicLength#87 to Object (fallible)
Object
145
Unbox Phi#105 to Int32 (fallible)
Int32
146
GuardShape ← Unbox#144
Object
147
Elements ← GuardShape#146
Elements
148
StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141
149
Goto → block 18
Block 18 (backedge)
335
Constant magic optimized-out
MagicOptimizedOut
151
Unbox Phi#105 to Int32 (fallible)
Int32
152
Constant 0x1
Int32
153
Add ← Unbox#151, Constant#152 [int32]
Int32
154
Goto → block 12
Block 19
157
Unbox NewArrayDynamicLength#87 to Object (fallible)
Object
158
GuardShape ← Unbox#157
Object
159
Constant object 104289c3e088 (Array)
Object
160
Constant function filter (self-hosted:183) at 104289c47970
Object
161
Constant function complex4/< (-e:18) at 104289c63d60
Object
162
Lambda ← FunctionEnvironment#6, Constant#161
Object
163
Constant 0x1
Int32
164
Constant function filter (self-hosted:183) at 104289c47970
Object
165
GuardSpecificFunction ← Constant#160, Constant#164
Object
166
Goto → block 20
Block 20
167
Constant undefined
Undefined
168
Constant function ToObject at 104289c6c740
Object
169
DebugCheckSelfHosted ← Constant#168
Value
170
Constant undefined
Undefined
171
Constant 0x1
Int32
172
Unbox NewArrayDynamicLength#87 to Object (fallible)
Object
173
Constant function ToLength at 104289c6c778
Object
174
DebugCheckSelfHosted ← Constant#173
Value
175
Constant undefined
Undefined
176
GuardShape ← Unbox#172
Object
177
Elements ← GuardShape#176
Elements
178
ArrayLength ← Elements#177
Int32
179
Constant 0x1
Int32
180
Constant 0x0
Int32
181
MinMax ← ArrayLength#178, Constant#180 (max)
Int32
182
Constant 0x1
Int32
183
Constant 0x0
Int32
184
Compare ← Constant#182, Constant#183 StrictEq
Bool
185
Test ← Compare#184 → block 21, block 22
1
0
Block 21
186
CallGetIntrinsicValue
Value
187
DebugCheckSelfHosted ← CallGetIntrinsicValue#186
Value
188
Constant undefined
Undefined
189
Constant 0x37
Int32
190
Constant 0x0
Int32
191
Constant string 104289c28540
String
192
Bail
322
Unreachable
Block 22
195
Constant function IsCallable at 104289c6c7b0
Object
196
DebugCheckSelfHosted ← Constant#195
Value
197
Constant undefined
Undefined
198
Constant 0x1
Int32
199
IsCallable ← Lambda#162
Bool
200
Test ← IsCallable#199 → block 24, block 23
1
0
Block 23
201
CallGetIntrinsicValue
Value
202
DebugCheckSelfHosted ← CallGetIntrinsicValue#201
Value
203
Constant undefined
Undefined
204
Constant 0xc
Int32
205
CallGetIntrinsicValue
Value
206
DebugCheckSelfHosted ← CallGetIntrinsicValue#205
Value
207
Constant undefined
Undefined
208
Constant 0x0
Int32
209
Bail
321
Unreachable
Block 24
214
Constant 0x1
Int32
215
Constant 0x1
Int32
216
Compare ← Constant#214, Constant#215 Gt
Bool
217
Test ← Compare#216 → block 25, block 26
1
0
Block 25
218
Constant 0x1
Int32
219
GetInlinedArgument ← Constant#218, Lambda#162
Value
220
Goto → block 27
Block 26
221
Constant undefined
Undefined
222
Goto → block 27
Block 27
223
Phi ← Constant#221, GetInlinedArgument#219
Value
224
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
225
DebugCheckSelfHosted ← Constant#224
Value
226
Constant undefined
Undefined
227
Constant 0x1
Int32
228
HasShape ← Unbox#172
Bool
229
Test ← HasShape#228 → block 28, block 29
1
0
Block 28
230
Constant shape at 104289c64f00
Shape
231
NewArrayObject ← Constant#230
Object
232
Goto → block 30
Block 29
233
CallGetIntrinsicValue
Value
234
DebugCheckSelfHosted ← CallGetIntrinsicValue#233
Value
235
Constant undefined
Undefined
236
Constant 0x0
Int32
237
Bail
320
Unreachable
Block 30
241
Constant 0x0
Int32
242
Constant 0x0
Int32
255
Goto → block 31
Block 31 (loop header)
251
Phi ← Constant#241, Add#304
Value
252
Phi ← Constant#242, Phi#300
Value
329
Constant magic optimized-out
MagicOptimizedOut
256
InterruptCheck
257
Unbox Phi#251 to Int32 (fallible)
Int32
258
Unbox MinMax#181 to Int32 (fallible)
Int32
259
Compare ← Unbox#257, Unbox#258 Lt
Bool
260
Test ← Compare#259 → block 32, block 40
1
0
Block 32
333
Constant magic optimized-out
MagicOptimizedOut
261
Unbox Unbox#172 to Object (fallible)
Object
262
Unbox Phi#251 to Int32 (fallible)
Int32
263
GuardShape ← Unbox#261
Object
264
Elements ← GuardShape#263
Elements
265
InitializedLength ← Elements#264
Int32
266
BoundsCheck ← Unbox#262, InitializedLength#265
Int32
267
SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265
Int32
268
GuardElementNotHole ← Elements#264, SpectreMaskIndex#267
269
Constant true
Bool
270
Test ← Constant#269 → block 34, block 33
1
0
Block 33 (split edge)
331
Constant magic optimized-out
MagicOptimizedOut
327
Goto → block 39
Block 34
332
Constant magic optimized-out
MagicOptimizedOut
271
Unbox Unbox#172 to Object (fallible)
Object
272
Unbox Phi#251 to Int32 (fallible)
Int32
273
GuardShape ← Unbox#271
Object
274
Elements ← GuardShape#273
Elements
275
InitializedLength ← Elements#274
Int32
276
BoundsCheck ← Unbox#272, InitializedLength#275
Int32
277
SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275
Int32
278
GuardElementsArePacked ← Elements#274
279
LoadElement ← Elements#274, SpectreMaskIndex#277
Value
280
Constant 0x3
Int32
281
Unbox Lambda#162 to Object (fallible)
Object
282
GuardToFunction ← Unbox#281
Object
283
GuardFunctionScript ← GuardToFunction#282
Object
284
Goto → block 35
Block 35
285
Constant undefined
Undefined
286
Constant 0x32
Int32
287
Unbox LoadElement#279 to Double (fallible)
Double
288
Compare ← Unbox#287, Constant#286 Gt
Bool
290
Goto → block 36
Block 36
291
Test ← Compare#288 → block 38, block 37
1
0
Block 37 (split edge)
328
Goto → block 39
Block 38
292
Unbox Phi#252 to Int32 (fallible)
Int32
293
Constant 0x1
Int32
294
Add ← Unbox#292, Constant#293 [int32]
Int32
295
Unbox NewArrayObject#231 to Object (fallible)
Object
296
GuardShape ← Unbox#295
Object
297
Elements ← GuardShape#296
Elements
298
StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279
299
Goto → block 39
Block 39 (backedge)
300
Phi ← Add#294, Phi#252, Phi#252
Value
330
Constant magic optimized-out
MagicOptimizedOut
302
Unbox Phi#251 to Int32 (fallible)
Int32
303
Constant 0x1
Int32
304
Add ← Unbox#302, Constant#303 [int32]
Int32
305
Goto → block 31
Block 40
308
Unbox NewArrayObject#231 to Object (fallible)
Object
309
GuardShape ← Unbox#308
Object
310
Constant object 104289c3e088 (Array)
Object
311
Constant function reduce (self-hosted:205) at 104289c479c0
Object
312
Constant function complex4/< (-e:18) at 104289c63d98
Object
313
Lambda ← FunctionEnvironment#6, Constant#312
Object
314
Constant 0x0
Int32
315
Constant 0x2
Int32
316
Constant function reduce (self-hosted:205) at 104289c479c0
Object
317
GuardSpecificFunction ← Constant#311, Constant#316
Object
318
Call ← GuardSpecificFunction#317, NewArrayObject#231, Lambda#313, Constant#314
Value
319
Return ← Call#318
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant object 104289c3e088 (Array)
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
13
Constant 0x1
Int32
14
Constant function map (self-hosted:163) at 104289c47920
Object
15
GuardSpecificFunction ← Constant#10, Constant#14
Object
16
Goto → block 1
Block 1
17
Constant undefined
Undefined
18
Constant function ToObject at 104289c6c740
Object
19
DebugCheckSelfHosted ← Constant#18
Value
20
Constant undefined
Undefined
21
Constant 0x1
Int32
22
Unbox Parameter#1 to Object (fallible)
Object
23
Constant function ToLength at 104289c6c778
Object
24
DebugCheckSelfHosted ← Constant#23
Value
25
Constant undefined
Undefined
26
GuardShape ← Unbox#22
Object
27
Elements ← GuardShape#26
Elements
28
ArrayLength ← Elements#27
Int32
29
Constant 0x1
Int32
30
Constant 0x0
Int32
31
MinMax ← ArrayLength#28, Constant#30 (max)
Int32
32
Constant 0x1
Int32
33
Constant 0x0
Int32
34
Compare ← Constant#32, Constant#33 StrictEq
Bool
35
Test ← Compare#34 → block 2, block 3
1
0
Block 2
36
CallGetIntrinsicValue
Value
37
DebugCheckSelfHosted ← CallGetIntrinsicValue#36
Value
38
Constant undefined
Undefined
39
Constant 0x37
Int32
40
Constant 0x0
Int32
41
Constant string 104289c2e080
String
42
Bail
325
Unreachable
Block 3
45
Constant function IsCallable at 104289c6c7b0
Object
46
DebugCheckSelfHosted ← Constant#45
Value
47
Constant undefined
Undefined
48
Constant 0x1
Int32
49
IsCallable ← Lambda#12
Bool
50
Test ← IsCallable#49 → block 5, block 4
1
0
Block 4
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Constant undefined
Undefined
54
Constant 0xc
Int32
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x0
Int32
59
Bail
324
Unreachable
Block 5
64
Constant 0x1
Int32
65
Constant 0x1
Int32
66
Compare ← Constant#64, Constant#65 Gt
Bool
67
Test ← Compare#66 → block 6, block 7
1
0
Block 6
68
Constant 0x1
Int32
69
GetInlinedArgument ← Constant#68, Lambda#12
Value
70
Goto → block 8
Block 7
71
Constant undefined
Undefined
72
Goto → block 8
Block 8
73
Phi ← Constant#71, GetInlinedArgument#69
Value
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
DebugCheckSelfHosted ← Constant#74
Value
76
Constant undefined
Undefined
77
Constant 0x1
Int32
78
HasShape ← Unbox#22
Bool
79
Test ← HasShape#78 → block 9, block 10
1
0
Block 9
80
Constant function std_Array at 104289c6c820
Object
81
DebugCheckSelfHosted ← Constant#80
Value
82
Constant undefined
Undefined
83
Constant 0x1
Int32
84
Unbox DebugCheckSelfHosted#81 to Object (fallible)
Object
85
Constant function std_Array at 104289c6c820
Object
86
GuardSpecificFunction ← Unbox#84, Constant#85
Object
87
NewArrayDynamicLength ← MinMax#31
Object
88
Goto → block 11
Block 10
89
CallGetIntrinsicValue
Value
90
DebugCheckSelfHosted ← CallGetIntrinsicValue#89
Value
91
Constant undefined
Undefined
92
Bail
323
Unreachable
Block 11
96
Constant 0x0
Int32
108
Goto → block 12
Block 12 (loop header)
105
Phi ← Constant#96, Add#153
Value
334
Constant magic optimized-out
MagicOptimizedOut
109
InterruptCheck
110
Unbox Phi#105 to Int32 (fallible)
Int32
111
Unbox MinMax#31 to Int32 (fallible)
Int32
112
Compare ← Unbox#110, Unbox#111 Lt
Bool
113
Test ← Compare#112 → block 13, block 19
1
0
Block 13
339
Constant magic optimized-out
MagicOptimizedOut
114
Unbox Unbox#22 to Object (fallible)
Object
115
Unbox Phi#105 to Int32 (fallible)
Int32
116
GuardShape ← Unbox#114
Object
117
Elements ← GuardShape#116
Elements
118
InitializedLength ← Elements#117
Int32
119
BoundsCheck ← Unbox#115, InitializedLength#118
Int32
120
SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118
Int32
121
GuardElementNotHole ← Elements#117, SpectreMaskIndex#120
122
Constant true
Bool
123
Test ← Constant#122 → block 15, block 14
1
0
Block 14 (split edge)
336
Constant magic optimized-out
MagicOptimizedOut
326
Goto → block 18
Block 15
338
Constant magic optimized-out
MagicOptimizedOut
124
Unbox Unbox#22 to Object (fallible)
Object
125
Unbox Phi#105 to Int32 (fallible)
Int32
126
GuardShape ← Unbox#124
Object
127
Elements ← GuardShape#126
Elements
128
InitializedLength ← Elements#127
Int32
129
BoundsCheck ← Unbox#125, InitializedLength#128
Int32
130
SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128
Int32
131
GuardElementsArePacked ← Elements#127
132
LoadElement ← Elements#127, SpectreMaskIndex#130
Value
133
Constant 0x3
Int32
134
Unbox Lambda#12 to Object (fallible)
Object
135
GuardToFunction ← Unbox#134
Object
136
GuardFunctionScript ← GuardToFunction#135
Object
137
Goto → block 16
Block 16
138
Constant undefined
Undefined
139
Constant 0x2
Int32
140
Unbox LoadElement#132 to Double (fallible)
Double
141
Mul ← Unbox#140, Constant#139 [double]
Double
143
Goto → block 17
Block 17
337
Constant magic optimized-out
MagicOptimizedOut
144
Unbox NewArrayDynamicLength#87 to Object (fallible)
Object
145
Unbox Phi#105 to Int32 (fallible)
Int32
146
GuardShape ← Unbox#144
Object
147
Elements ← GuardShape#146
Elements
148
StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141
149
Goto → block 18
Block 18 (backedge)
335
Constant magic optimized-out
MagicOptimizedOut
151
Unbox Phi#105 to Int32 (fallible)
Int32
152
Constant 0x1
Int32
153
Add ← Unbox#151, Constant#152 [int32]
Int32
154
Goto → block 12
Block 19
157
Unbox NewArrayDynamicLength#87 to Object (fallible)
Object
158
GuardShape ← Unbox#157
Object
159
Constant object 104289c3e088 (Array)
Object
160
Constant function filter (self-hosted:183) at 104289c47970
Object
161
Constant function complex4/< (-e:18) at 104289c63d60
Object
162
Lambda ← FunctionEnvironment#6, Constant#161
Object
163
Constant 0x1
Int32
164
Constant function filter (self-hosted:183) at 104289c47970
Object
165
GuardSpecificFunction ← Constant#160, Constant#164
Object
166
Goto → block 20
Block 20
167
Constant undefined
Undefined
168
Constant function ToObject at 104289c6c740
Object
169
DebugCheckSelfHosted ← Constant#168
Value
170
Constant undefined
Undefined
171
Constant 0x1
Int32
172
Unbox NewArrayDynamicLength#87 to Object (fallible)
Object
173
Constant function ToLength at 104289c6c778
Object
174
DebugCheckSelfHosted ← Constant#173
Value
175
Constant undefined
Undefined
176
GuardShape ← Unbox#172
Object
177
Elements ← GuardShape#176
Elements
178
ArrayLength ← Elements#177
Int32
179
Constant 0x1
Int32
180
Constant 0x0
Int32
181
MinMax ← ArrayLength#178, Constant#180 (max)
Int32
182
Constant 0x1
Int32
183
Constant 0x0
Int32
184
Compare ← Constant#182, Constant#183 StrictEq
Bool
185
Test ← Compare#184 → block 21, block 22
1
0
Block 21
186
CallGetIntrinsicValue
Value
187
DebugCheckSelfHosted ← CallGetIntrinsicValue#186
Value
188
Constant undefined
Undefined
189
Constant 0x37
Int32
190
Constant 0x0
Int32
191
Constant string 104289c28540
String
192
Bail
322
Unreachable
Block 22
195
Constant function IsCallable at 104289c6c7b0
Object
196
DebugCheckSelfHosted ← Constant#195
Value
197
Constant undefined
Undefined
198
Constant 0x1
Int32
199
IsCallable ← Lambda#162
Bool
200
Test ← IsCallable#199 → block 24, block 23
1
0
Block 23
201
CallGetIntrinsicValue
Value
202
DebugCheckSelfHosted ← CallGetIntrinsicValue#201
Value
203
Constant undefined
Undefined
204
Constant 0xc
Int32
205
CallGetIntrinsicValue
Value
206
DebugCheckSelfHosted ← CallGetIntrinsicValue#205
Value
207
Constant undefined
Undefined
208
Constant 0x0
Int32
209
Bail
321
Unreachable
Block 24
214
Constant 0x1
Int32
215
Constant 0x1
Int32
216
Compare ← Constant#214, Constant#215 Gt
Bool
217
Test ← Compare#216 → block 25, block 26
1
0
Block 25
218
Constant 0x1
Int32
219
GetInlinedArgument ← Constant#218, Lambda#162
Value
220
Goto → block 27
Block 26
221
Constant undefined
Undefined
222
Goto → block 27
Block 27
223
Phi ← Constant#221, GetInlinedArgument#219
Value
224
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
225
DebugCheckSelfHosted ← Constant#224
Value
226
Constant undefined
Undefined
227
Constant 0x1
Int32
228
HasShape ← Unbox#172
Bool
229
Test ← HasShape#228 → block 28, block 29
1
0
Block 28
230
Constant shape at 104289c64f00
Shape
231
NewArrayObject ← Constant#230
Object
232
Goto → block 30
Block 29
233
CallGetIntrinsicValue
Value
234
DebugCheckSelfHosted ← CallGetIntrinsicValue#233
Value
235
Constant undefined
Undefined
236
Constant 0x0
Int32
237
Bail
320
Unreachable
Block 30
241
Constant 0x0
Int32
242
Constant 0x0
Int32
255
Goto → block 31
Block 31 (loop header)
251
Phi ← Constant#241, Add#304
Value
252
Phi ← Constant#242, Phi#300
Value
329
Constant magic optimized-out
MagicOptimizedOut
256
InterruptCheck
257
Unbox Phi#251 to Int32 (fallible)
Int32
258
Unbox MinMax#181 to Int32 (fallible)
Int32
259
Compare ← Unbox#257, Unbox#258 Lt
Bool
260
Test ← Compare#259 → block 32, block 40
1
0
Block 32
333
Constant magic optimized-out
MagicOptimizedOut
261
Unbox Unbox#172 to Object (fallible)
Object
262
Unbox Phi#251 to Int32 (fallible)
Int32
263
GuardShape ← Unbox#261
Object
264
Elements ← GuardShape#263
Elements
265
InitializedLength ← Elements#264
Int32
266
BoundsCheck ← Unbox#262, InitializedLength#265
Int32
267
SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265
Int32
268
GuardElementNotHole ← Elements#264, SpectreMaskIndex#267
269
Constant true
Bool
270
Test ← Constant#269 → block 34, block 33
1
0
Block 33 (split edge)
331
Constant magic optimized-out
MagicOptimizedOut
327
Goto → block 39
Block 34
332
Constant magic optimized-out
MagicOptimizedOut
271
Unbox Unbox#172 to Object (fallible)
Object
272
Unbox Phi#251 to Int32 (fallible)
Int32
273
GuardShape ← Unbox#271
Object
274
Elements ← GuardShape#273
Elements
275
InitializedLength ← Elements#274
Int32
276
BoundsCheck ← Unbox#272, InitializedLength#275
Int32
277
SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275
Int32
278
GuardElementsArePacked ← Elements#274
279
LoadElement ← Elements#274, SpectreMaskIndex#277
Value
280
Constant 0x3
Int32
281
Unbox Lambda#162 to Object (fallible)
Object
282
GuardToFunction ← Unbox#281
Object
283
GuardFunctionScript ← GuardToFunction#282
Object
284
Goto → block 35
Block 35
285
Constant undefined
Undefined
286
Constant 0x32
Int32
287
Unbox LoadElement#279 to Double (fallible)
Double
288
Compare ← Unbox#287, Constant#286 Gt
Bool
290
Goto → block 36
Block 36
291
Test ← Compare#288 → block 38, block 37
1
0
Block 37 (split edge)
328
Goto → block 39
Block 38
292
Unbox Phi#252 to Int32 (fallible)
Int32
293
Constant 0x1
Int32
294
Add ← Unbox#292, Constant#293 [int32]
Int32
295
Unbox NewArrayObject#231 to Object (fallible)
Object
296
GuardShape ← Unbox#295
Object
297
Elements ← GuardShape#296
Elements
298
StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279
299
Goto → block 39
Block 39 (backedge)
300
Phi ← Add#294, Phi#252, Phi#252
Value
330
Constant magic optimized-out
MagicOptimizedOut
302
Unbox Phi#251 to Int32 (fallible)
Int32
303
Constant 0x1
Int32
304
Add ← Unbox#302, Constant#303 [int32]
Int32
305
Goto → block 31
Block 40
308
Unbox NewArrayObject#231 to Object (fallible)
Object
309
GuardShape ← Unbox#308
Object
310
Constant object 104289c3e088 (Array)
Object
311
Constant function reduce (self-hosted:205) at 104289c479c0
Object
312
Constant function complex4/< (-e:18) at 104289c63d98
Object
313
Lambda ← FunctionEnvironment#6, Constant#312
Object
314
Constant 0x0
Int32
315
Constant 0x2
Int32
316
Constant function reduce (self-hosted:205) at 104289c479c0
Object
317
GuardSpecificFunction ← Constant#311, Constant#316
Object
318
Call ← GuardSpecificFunction#317, NewArrayObject#231, Lambda#313, Constant#314
Value
319
Return ← Call#318
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant object 104289c3e088 (Array)
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
13
Constant 0x1
Int32
14
Constant function map (self-hosted:163) at 104289c47920
Object
15
GuardSpecificFunction ← Constant#10, Constant#14
Object
16
Goto → block 1
Block 1
17
Constant undefined
Undefined
18
Constant function ToObject at 104289c6c740
Object
19
DebugCheckSelfHosted ← Constant#18
Value
20
Constant undefined
Undefined
21
Constant 0x1
Int32
22
Unbox Parameter#1 to Object (fallible)
Object
23
Constant function ToLength at 104289c6c778
Object
24
DebugCheckSelfHosted ← Constant#23
Value
25
Constant undefined
Undefined
26
GuardShape ← Unbox#22
Object
27
Elements ← GuardShape#26
Elements
28
ArrayLength ← Elements#27
Int32
29
Constant 0x1
Int32
30
Constant 0x0
Int32
31
MinMax ← ArrayLength#28, Constant#30 (max)
Int32
32
Constant 0x1
Int32
33
Constant 0x0
Int32
34
Compare ← Constant#32, Constant#33 StrictEq
Bool
35
Test ← Compare#34 → block 2, block 3
1
0
Block 2
36
CallGetIntrinsicValue
Value
37
DebugCheckSelfHosted ← CallGetIntrinsicValue#36
Value
38
Constant undefined
Undefined
39
Constant 0x37
Int32
40
Constant 0x0
Int32
41
Constant string 104289c2e080
String
42
Bail
325
Unreachable
Block 3
45
Constant function IsCallable at 104289c6c7b0
Object
46
DebugCheckSelfHosted ← Constant#45
Value
47
Constant undefined
Undefined
48
Constant 0x1
Int32
49
IsCallable ← Lambda#12
Bool
50
Test ← IsCallable#49 → block 5, block 4
1
0
Block 4
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Constant undefined
Undefined
54
Constant 0xc
Int32
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x0
Int32
59
Bail
324
Unreachable
Block 5
64
Constant 0x1
Int32
65
Constant 0x1
Int32
66
Compare ← Constant#64, Constant#65 Gt
Bool
67
Test ← Compare#66 → block 6, block 7
1
0
Block 6
68
Constant 0x1
Int32
69
GetInlinedArgument ← Constant#68, Lambda#12
Value
70
Goto → block 8
Block 7
71
Constant undefined
Undefined
72
Goto → block 8
Block 8
73
Phi ← Constant#71, GetInlinedArgument#69
Value
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
DebugCheckSelfHosted ← Constant#74
Value
76
Constant undefined
Undefined
77
Constant 0x1
Int32
78
HasShape ← Unbox#22
Bool
79
Test ← HasShape#78 → block 9, block 10
1
0
Block 9
80
Constant function std_Array at 104289c6c820
Object
81
DebugCheckSelfHosted ← Constant#80
Value
82
Constant undefined
Undefined
83
Constant 0x1
Int32
84
Unbox DebugCheckSelfHosted#81 to Object (fallible)
Object
85
Constant function std_Array at 104289c6c820
Object
86
GuardSpecificFunction ← Unbox#84, Constant#85
Object
87
NewArrayDynamicLength ← MinMax#31
Object
88
Goto → block 11
Block 10
89
CallGetIntrinsicValue
Value
90
DebugCheckSelfHosted ← CallGetIntrinsicValue#89
Value
91
Constant undefined
Undefined
92
Bail
323
Unreachable
Block 11
96
Constant 0x0
Int32
108
Goto → block 12
Block 12 (loop header)
105
Phi ← Constant#96, Add#153
Value
334
Constant magic optimized-out
MagicOptimizedOut
109
InterruptCheck
110
Unbox Phi#105 to Int32 (fallible)
Int32
111
Unbox MinMax#31 to Int32 (fallible)
Int32
112
Compare ← Unbox#110, Unbox#111 Lt
Bool
113
Test ← Compare#112 → block 13, block 19
1
0
Block 13
339
Constant magic optimized-out
MagicOptimizedOut
114
Unbox Unbox#22 to Object (fallible)
Object
115
Unbox Phi#105 to Int32 (fallible)
Int32
116
GuardShape ← Unbox#114
Object
117
Elements ← GuardShape#116
Elements
118
InitializedLength ← Elements#117
Int32
119
BoundsCheck ← Unbox#115, InitializedLength#118
Int32
120
SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118
Int32
121
GuardElementNotHole ← Elements#117, SpectreMaskIndex#120
122
Constant true
Bool
123
Test ← Constant#122 → block 15, block 14
1
0
Block 14 (split edge)
336
Constant magic optimized-out
MagicOptimizedOut
326
Goto → block 18
Block 15
338
Constant magic optimized-out
MagicOptimizedOut
124
Unbox Unbox#22 to Object (fallible)
Object
125
Unbox Phi#105 to Int32 (fallible)
Int32
126
GuardShape ← Unbox#124
Object
127
Elements ← GuardShape#126
Elements
128
InitializedLength ← Elements#127
Int32
129
BoundsCheck ← Unbox#125, InitializedLength#128
Int32
130
SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128
Int32
131
GuardElementsArePacked ← Elements#127
132
LoadElement ← Elements#127, SpectreMaskIndex#130
Value
133
Constant 0x3
Int32
134
Unbox Lambda#12 to Object (fallible)
Object
135
GuardToFunction ← Unbox#134
Object
136
GuardFunctionScript ← GuardToFunction#135
Object
137
Goto → block 16
Block 16
138
Constant undefined
Undefined
139
Constant 0x2
Int32
140
Unbox LoadElement#132 to Double (fallible)
Double
141
Mul ← Unbox#140, Constant#139 [double]
Double
143
Goto → block 17
Block 17
337
Constant magic optimized-out
MagicOptimizedOut
144
Unbox NewArrayDynamicLength#87 to Object (fallible)
Object
145
Unbox Phi#105 to Int32 (fallible)
Int32
146
GuardShape ← Unbox#144
Object
147
Elements ← GuardShape#146
Elements
148
StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141
149
Goto → block 18
Block 18 (backedge)
335
Constant magic optimized-out
MagicOptimizedOut
151
Unbox Phi#105 to Int32 (fallible)
Int32
152
Constant 0x1
Int32
153
Add ← Unbox#151, Constant#152 [int32]
Int32
154
Goto → block 12
Block 19
157
Unbox NewArrayDynamicLength#87 to Object (fallible)
Object
158
GuardShape ← Unbox#157
Object
159
Constant object 104289c3e088 (Array)
Object
160
Constant function filter (self-hosted:183) at 104289c47970
Object
161
Constant function complex4/< (-e:18) at 104289c63d60
Object
162
Lambda ← FunctionEnvironment#6, Constant#161
Object
163
Constant 0x1
Int32
164
Constant function filter (self-hosted:183) at 104289c47970
Object
165
GuardSpecificFunction ← Constant#160, Constant#164
Object
166
Goto → block 20
Block 20
167
Constant undefined
Undefined
168
Constant function ToObject at 104289c6c740
Object
169
DebugCheckSelfHosted ← Constant#168
Value
170
Constant undefined
Undefined
171
Constant 0x1
Int32
172
Unbox NewArrayDynamicLength#87 to Object (fallible)
Object
173
Constant function ToLength at 104289c6c778
Object
174
DebugCheckSelfHosted ← Constant#173
Value
175
Constant undefined
Undefined
176
GuardShape ← Unbox#172
Object
177
Elements ← GuardShape#176
Elements
178
ArrayLength ← Elements#177
Int32
179
Constant 0x1
Int32
180
Constant 0x0
Int32
181
MinMax ← ArrayLength#178, Constant#180 (max)
Int32
182
Constant 0x1
Int32
183
Constant 0x0
Int32
184
Compare ← Constant#182, Constant#183 StrictEq
Bool
185
Test ← Compare#184 → block 21, block 22
1
0
Block 21
186
CallGetIntrinsicValue
Value
187
DebugCheckSelfHosted ← CallGetIntrinsicValue#186
Value
188
Constant undefined
Undefined
189
Constant 0x37
Int32
190
Constant 0x0
Int32
191
Constant string 104289c28540
String
192
Bail
322
Unreachable
Block 22
195
Constant function IsCallable at 104289c6c7b0
Object
196
DebugCheckSelfHosted ← Constant#195
Value
197
Constant undefined
Undefined
198
Constant 0x1
Int32
199
IsCallable ← Lambda#162
Bool
200
Test ← IsCallable#199 → block 24, block 23
1
0
Block 23
201
CallGetIntrinsicValue
Value
202
DebugCheckSelfHosted ← CallGetIntrinsicValue#201
Value
203
Constant undefined
Undefined
204
Constant 0xc
Int32
205
CallGetIntrinsicValue
Value
206
DebugCheckSelfHosted ← CallGetIntrinsicValue#205
Value
207
Constant undefined
Undefined
208
Constant 0x0
Int32
209
Bail
321
Unreachable
Block 24
214
Constant 0x1
Int32
215
Constant 0x1
Int32
216
Compare ← Constant#214, Constant#215 Gt
Bool
217
Test ← Compare#216 → block 25, block 26
1
0
Block 25
218
Constant 0x1
Int32
219
GetInlinedArgument ← Constant#218, Lambda#162
Value
220
Goto → block 27
Block 26
221
Constant undefined
Undefined
222
Goto → block 27
Block 27
223
Phi ← Constant#221, GetInlinedArgument#219
Value
224
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
225
DebugCheckSelfHosted ← Constant#224
Value
226
Constant undefined
Undefined
227
Constant 0x1
Int32
228
HasShape ← Unbox#172
Bool
229
Test ← HasShape#228 → block 28, block 29
1
0
Block 28
230
Constant shape at 104289c64f00
Shape
231
NewArrayObject ← Constant#230
Object
232
Goto → block 30
Block 29
233
CallGetIntrinsicValue
Value
234
DebugCheckSelfHosted ← CallGetIntrinsicValue#233
Value
235
Constant undefined
Undefined
236
Constant 0x0
Int32
237
Bail
320
Unreachable
Block 30
241
Constant 0x0
Int32
242
Constant 0x0
Int32
255
Goto → block 31
Block 31 (loop header)
251
Phi ← Constant#241, Add#304
Value
252
Phi ← Constant#242, Phi#300
Value
329
Constant magic optimized-out
MagicOptimizedOut
256
InterruptCheck
257
Unbox Phi#251 to Int32 (fallible)
Int32
258
Unbox MinMax#181 to Int32 (fallible)
Int32
259
Compare ← Unbox#257, Unbox#258 Lt
Bool
260
Test ← Compare#259 → block 32, block 40
1
0
Block 32
333
Constant magic optimized-out
MagicOptimizedOut
261
Unbox Unbox#172 to Object (fallible)
Object
262
Unbox Phi#251 to Int32 (fallible)
Int32
263
GuardShape ← Unbox#261
Object
264
Elements ← GuardShape#263
Elements
265
InitializedLength ← Elements#264
Int32
266
BoundsCheck ← Unbox#262, InitializedLength#265
Int32
267
SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265
Int32
268
GuardElementNotHole ← Elements#264, SpectreMaskIndex#267
269
Constant true
Bool
270
Test ← Constant#269 → block 34, block 33
1
0
Block 33 (split edge)
331
Constant magic optimized-out
MagicOptimizedOut
327
Goto → block 39
Block 34
332
Constant magic optimized-out
MagicOptimizedOut
271
Unbox Unbox#172 to Object (fallible)
Object
272
Unbox Phi#251 to Int32 (fallible)
Int32
273
GuardShape ← Unbox#271
Object
274
Elements ← GuardShape#273
Elements
275
InitializedLength ← Elements#274
Int32
276
BoundsCheck ← Unbox#272, InitializedLength#275
Int32
277
SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275
Int32
278
GuardElementsArePacked ← Elements#274
279
LoadElement ← Elements#274, SpectreMaskIndex#277
Value
280
Constant 0x3
Int32
281
Unbox Lambda#162 to Object (fallible)
Object
282
GuardToFunction ← Unbox#281
Object
283
GuardFunctionScript ← GuardToFunction#282
Object
284
Goto → block 35
Block 35
285
Constant undefined
Undefined
286
Constant 0x32
Int32
287
Unbox LoadElement#279 to Double (fallible)
Double
288
Compare ← Unbox#287, Constant#286 Gt
Bool
290
Goto → block 36
Block 36
291
Test ← Compare#288 → block 38, block 37
1
0
Block 37 (split edge)
328
Goto → block 39
Block 38
292
Unbox Phi#252 to Int32 (fallible)
Int32
293
Constant 0x1
Int32
294
Add ← Unbox#292, Constant#293 [int32]
Int32
295
Unbox NewArrayObject#231 to Object (fallible)
Object
296
GuardShape ← Unbox#295
Object
297
Elements ← GuardShape#296
Elements
298
StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279
299
Goto → block 39
Block 39 (backedge)
300
Phi ← Add#294, Phi#252, Phi#252
Value
330
Constant magic optimized-out
MagicOptimizedOut
302
Unbox Phi#251 to Int32 (fallible)
Int32
303
Constant 0x1
Int32
304
Add ← Unbox#302, Constant#303 [int32]
Int32
305
Goto → block 31
Block 40
308
Unbox NewArrayObject#231 to Object (fallible)
Object
309
GuardShape ← Unbox#308
Object
310
Constant object 104289c3e088 (Array)
Object
311
Constant function reduce (self-hosted:205) at 104289c479c0
Object
312
Constant function complex4/< (-e:18) at 104289c63d98
Object
313
Lambda ← FunctionEnvironment#6, Constant#312
Object
314
Constant 0x0
Int32
315
Constant 0x2
Int32
316
Constant function reduce (self-hosted:205) at 104289c479c0
Object
317
GuardSpecificFunction ← Constant#311, Constant#316
Object
318
Call ← GuardSpecificFunction#317, NewArrayObject#231, Lambda#313, Constant#314
Value
319
Return ← Call#318
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant object 104289c3e088 (Array)
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
13
Constant 0x1
Int32
14
Constant function map (self-hosted:163) at 104289c47920
Object
15
GuardSpecificFunction ← Constant#10, Constant#14
Object
16
Goto → block 1
Block 1
17
Constant undefined
Undefined
18
Constant function ToObject at 104289c6c740
Object
19
DebugCheckSelfHosted ← Constant#18
Value
20
Constant undefined
Undefined
21
Constant 0x1
Int32
22
Unbox Parameter#1 to Object (fallible)
Object
23
Constant function ToLength at 104289c6c778
Object
24
DebugCheckSelfHosted ← Constant#23
Value
25
Constant undefined
Undefined
26
GuardShape ← Unbox#22
Object
27
Elements ← GuardShape#26
Elements
28
ArrayLength ← Elements#27
Int32
29
Constant 0x1
Int32
30
Constant 0x0
Int32
31
MinMax ← ArrayLength#28, Constant#30 (max)
Int32
32
Constant 0x1
Int32
33
Constant 0x0
Int32
34
Compare ← Constant#32, Constant#33 StrictEq
Bool
35
Test ← Compare#34 → block 2, block 3
1
0
Block 2
36
CallGetIntrinsicValue
Value
37
DebugCheckSelfHosted ← CallGetIntrinsicValue#36
Value
38
Constant undefined
Undefined
39
Constant 0x37
Int32
40
Constant 0x0
Int32
41
Constant string 104289c2e080
String
42
Bail
325
Unreachable
Block 3
45
Constant function IsCallable at 104289c6c7b0
Object
46
DebugCheckSelfHosted ← Constant#45
Value
47
Constant undefined
Undefined
48
Constant 0x1
Int32
49
IsCallable ← Lambda#12
Bool
50
Test ← IsCallable#49 → block 5, block 4
1
0
Block 4
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Constant undefined
Undefined
54
Constant 0xc
Int32
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x0
Int32
59
Bail
324
Unreachable
Block 5
64
Constant 0x1
Int32
65
Constant 0x1
Int32
66
Compare ← Constant#64, Constant#65 Gt
Bool
67
Test ← Compare#66 → block 6, block 7
1
0
Block 6
68
Constant 0x1
Int32
69
GetInlinedArgument ← Constant#68, Lambda#12
Value
70
Goto → block 8
Block 7
71
Constant undefined
Undefined
72
Goto → block 8
Block 8
73
Phi ← Constant#71, GetInlinedArgument#69
Value
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
DebugCheckSelfHosted ← Constant#74
Value
76
Constant undefined
Undefined
77
Constant 0x1
Int32
78
HasShape ← Unbox#22
Bool
79
Test ← HasShape#78 → block 9, block 10
1
0
Block 9
80
Constant function std_Array at 104289c6c820
Object
81
DebugCheckSelfHosted ← Constant#80
Value
82
Constant undefined
Undefined
83
Constant 0x1
Int32
84
Unbox DebugCheckSelfHosted#81 to Object (fallible)
Object
85
Constant function std_Array at 104289c6c820
Object
86
GuardSpecificFunction ← Unbox#84, Constant#85
Object
87
NewArrayDynamicLength ← MinMax#31
Object
88
Goto → block 11
Block 10
89
CallGetIntrinsicValue
Value
90
DebugCheckSelfHosted ← CallGetIntrinsicValue#89
Value
91
Constant undefined
Undefined
92
Bail
323
Unreachable
Block 11
96
Constant 0x0
Int32
108
Goto → block 12
Block 12 (loop header)
105
Phi ← Constant#96, Add#153
Value
334
Constant magic optimized-out
MagicOptimizedOut
109
InterruptCheck
110
Unbox Phi#105 to Int32 (fallible)
Int32
111
Unbox MinMax#31 to Int32 (fallible)
Int32
112
Compare ← Unbox#110, Unbox#111 Lt
Bool
113
Test ← Compare#112 → block 13, block 19
1
0
Block 13
339
Constant magic optimized-out
MagicOptimizedOut
114
Unbox Unbox#22 to Object (fallible)
Object
115
Unbox Phi#105 to Int32 (fallible)
Int32
116
GuardShape ← Unbox#114
Object
117
Elements ← GuardShape#116
Elements
118
InitializedLength ← Elements#117
Int32
119
BoundsCheck ← Unbox#115, InitializedLength#118
Int32
120
SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118
Int32
121
GuardElementNotHole ← Elements#117, SpectreMaskIndex#120
122
Constant true
Bool
123
Test ← Constant#122 → block 15, block 14
1
0
Block 14 (split edge)
336
Constant magic optimized-out
MagicOptimizedOut
326
Goto → block 18
Block 15
338
Constant magic optimized-out
MagicOptimizedOut
124
Unbox Unbox#22 to Object (fallible)
Object
125
Unbox Phi#105 to Int32 (fallible)
Int32
126
GuardShape ← Unbox#124
Object
127
Elements ← GuardShape#126
Elements
128
InitializedLength ← Elements#127
Int32
129
BoundsCheck ← Unbox#125, InitializedLength#128
Int32
130
SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128
Int32
131
GuardElementsArePacked ← Elements#127
132
LoadElement ← Elements#127, SpectreMaskIndex#130
Value
133
Constant 0x3
Int32
134
Unbox Lambda#12 to Object (fallible)
Object
135
GuardToFunction ← Unbox#134
Object
136
GuardFunctionScript ← GuardToFunction#135
Object
137
Goto → block 16
Block 16
138
Constant undefined
Undefined
139
Constant 0x2
Int32
140
Unbox LoadElement#132 to Double (fallible)
Double
141
Mul ← Unbox#140, Constant#139 [double]
Double
143
Goto → block 17
Block 17
337
Constant magic optimized-out
MagicOptimizedOut
144
Unbox NewArrayDynamicLength#87 to Object (fallible)
Object
145
Unbox Phi#105 to Int32 (fallible)
Int32
146
GuardShape ← Unbox#144
Object
147
Elements ← GuardShape#146
Elements
148
StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141
149
Goto → block 18
Block 18 (backedge)
335
Constant magic optimized-out
MagicOptimizedOut
151
Unbox Phi#105 to Int32 (fallible)
Int32
152
Constant 0x1
Int32
153
Add ← Unbox#151, Constant#152 [int32]
Int32
154
Goto → block 12
Block 19
157
Unbox NewArrayDynamicLength#87 to Object (fallible)
Object
158
GuardShape ← Unbox#157
Object
159
Constant object 104289c3e088 (Array)
Object
160
Constant function filter (self-hosted:183) at 104289c47970
Object
161
Constant function complex4/< (-e:18) at 104289c63d60
Object
162
Lambda ← FunctionEnvironment#6, Constant#161
Object
163
Constant 0x1
Int32
164
Constant function filter (self-hosted:183) at 104289c47970
Object
165
GuardSpecificFunction ← Constant#160, Constant#164
Object
166
Goto → block 20
Block 20
167
Constant undefined
Undefined
168
Constant function ToObject at 104289c6c740
Object
169
DebugCheckSelfHosted ← Constant#168
Value
170
Constant undefined
Undefined
171
Constant 0x1
Int32
172
Unbox NewArrayDynamicLength#87 to Object (fallible)
Object
173
Constant function ToLength at 104289c6c778
Object
174
DebugCheckSelfHosted ← Constant#173
Value
175
Constant undefined
Undefined
176
GuardShape ← Unbox#172
Object
177
Elements ← GuardShape#176
Elements
178
ArrayLength ← Elements#177
Int32
179
Constant 0x1
Int32
180
Constant 0x0
Int32
181
MinMax ← ArrayLength#178, Constant#180 (max)
Int32
182
Constant 0x1
Int32
183
Constant 0x0
Int32
184
Compare ← Constant#182, Constant#183 StrictEq
Bool
185
Test ← Compare#184 → block 21, block 22
1
0
Block 21
186
CallGetIntrinsicValue
Value
187
DebugCheckSelfHosted ← CallGetIntrinsicValue#186
Value
188
Constant undefined
Undefined
189
Constant 0x37
Int32
190
Constant 0x0
Int32
191
Constant string 104289c28540
String
192
Bail
322
Unreachable
Block 22
195
Constant function IsCallable at 104289c6c7b0
Object
196
DebugCheckSelfHosted ← Constant#195
Value
197
Constant undefined
Undefined
198
Constant 0x1
Int32
199
IsCallable ← Lambda#162
Bool
200
Test ← IsCallable#199 → block 24, block 23
1
0
Block 23
201
CallGetIntrinsicValue
Value
202
DebugCheckSelfHosted ← CallGetIntrinsicValue#201
Value
203
Constant undefined
Undefined
204
Constant 0xc
Int32
205
CallGetIntrinsicValue
Value
206
DebugCheckSelfHosted ← CallGetIntrinsicValue#205
Value
207
Constant undefined
Undefined
208
Constant 0x0
Int32
209
Bail
321
Unreachable
Block 24
214
Constant 0x1
Int32
215
Constant 0x1
Int32
216
Compare ← Constant#214, Constant#215 Gt
Bool
217
Test ← Compare#216 → block 25, block 26
1
0
Block 25
218
Constant 0x1
Int32
219
GetInlinedArgument ← Constant#218, Lambda#162
Value
220
Goto → block 27
Block 26
221
Constant undefined
Undefined
222
Goto → block 27
Block 27
223
Phi ← Constant#221, GetInlinedArgument#219
Value
224
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
225
DebugCheckSelfHosted ← Constant#224
Value
226
Constant undefined
Undefined
227
Constant 0x1
Int32
228
HasShape ← Unbox#172
Bool
229
Test ← HasShape#228 → block 28, block 29
1
0
Block 28
230
Constant shape at 104289c64f00
Shape
231
NewArrayObject ← Constant#230
Object
232
Goto → block 30
Block 29
233
CallGetIntrinsicValue
Value
234
DebugCheckSelfHosted ← CallGetIntrinsicValue#233
Value
235
Constant undefined
Undefined
236
Constant 0x0
Int32
237
Bail
320
Unreachable
Block 30
241
Constant 0x0
Int32
242
Constant 0x0
Int32
255
Goto → block 31
Block 31 (loop header)
251
Phi ← Constant#241, Add#304
Value
252
Phi ← Constant#242, Phi#300
Value
329
Constant magic optimized-out
MagicOptimizedOut
256
InterruptCheck
257
Unbox Phi#251 to Int32 (fallible)
Int32
258
Unbox MinMax#181 to Int32 (fallible)
Int32
259
Compare ← Unbox#257, Unbox#258 Lt
Bool
260
Test ← Compare#259 → block 32, block 40
1
0
Block 32
333
Constant magic optimized-out
MagicOptimizedOut
261
Unbox Unbox#172 to Object (fallible)
Object
262
Unbox Phi#251 to Int32 (fallible)
Int32
263
GuardShape ← Unbox#261
Object
264
Elements ← GuardShape#263
Elements
265
InitializedLength ← Elements#264
Int32
266
BoundsCheck ← Unbox#262, InitializedLength#265
Int32
267
SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265
Int32
268
GuardElementNotHole ← Elements#264, SpectreMaskIndex#267
269
Constant true
Bool
270
Test ← Constant#269 → block 34, block 33
1
0
Block 33 (split edge)
331
Constant magic optimized-out
MagicOptimizedOut
327
Goto → block 39
Block 34
332
Constant magic optimized-out
MagicOptimizedOut
271
Unbox Unbox#172 to Object (fallible)
Object
272
Unbox Phi#251 to Int32 (fallible)
Int32
273
GuardShape ← Unbox#271
Object
274
Elements ← GuardShape#273
Elements
275
InitializedLength ← Elements#274
Int32
276
BoundsCheck ← Unbox#272, InitializedLength#275
Int32
277
SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275
Int32
278
GuardElementsArePacked ← Elements#274
279
LoadElement ← Elements#274, SpectreMaskIndex#277
Value
280
Constant 0x3
Int32
281
Unbox Lambda#162 to Object (fallible)
Object
282
GuardToFunction ← Unbox#281
Object
283
GuardFunctionScript ← GuardToFunction#282
Object
284
Goto → block 35
Block 35
285
Constant undefined
Undefined
286
Constant 0x32
Int32
287
Unbox LoadElement#279 to Double (fallible)
Double
288
Compare ← Unbox#287, Constant#286 Gt
Bool
290
Goto → block 36
Block 36
291
Test ← Compare#288 → block 38, block 37
1
0
Block 37 (split edge)
328
Goto → block 39
Block 38
292
Unbox Phi#252 to Int32 (fallible)
Int32
293
Constant 0x1
Int32
294
Add ← Unbox#292, Constant#293 [int32]
Int32
295
Unbox NewArrayObject#231 to Object (fallible)
Object
296
GuardShape ← Unbox#295
Object
297
Elements ← GuardShape#296
Elements
298
StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279
299
Goto → block 39
Block 39 (backedge)
300
Phi ← Add#294, Phi#252, Phi#252
Value
330
Constant magic optimized-out
MagicOptimizedOut
302
Unbox Phi#251 to Int32 (fallible)
Int32
303
Constant 0x1
Int32
304
Add ← Unbox#302, Constant#303 [int32]
Int32
305
Goto → block 31
Block 40
308
Unbox NewArrayObject#231 to Object (fallible)
Object
309
GuardShape ← Unbox#308
Object
310
Constant object 104289c3e088 (Array)
Object
311
Constant function reduce (self-hosted:205) at 104289c479c0
Object
312
Constant function complex4/< (-e:18) at 104289c63d98
Object
313
Lambda ← FunctionEnvironment#6, Constant#312
Object
314
Constant 0x0
Int32
315
Constant 0x2
Int32
316
Constant function reduce (self-hosted:205) at 104289c479c0
Object
317
GuardSpecificFunction ← Constant#311, Constant#316
Object
318
Call ← GuardSpecificFunction#317, NewArrayObject#231, Lambda#313, Constant#314
Value
319
Return ← Call#318
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant object 104289c3e088 (Array)
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
13
Constant 0x1
Int32
14
Constant function map (self-hosted:163) at 104289c47920
Object
15
GuardSpecificFunction ← Constant#10, Constant#14
Object
16
Goto → block 1
Block 1
17
Constant undefined
Undefined
18
Constant function ToObject at 104289c6c740
Object
340
Box ← Constant#18
Value
19
DebugCheckSelfHosted ← Box#340
Value
20
Constant undefined
Undefined
21
Constant 0x1
Int32
22
Unbox Parameter#1 to Object (fallible)
Object
23
Constant function ToLength at 104289c6c778
Object
341
Box ← Constant#23
Value
24
DebugCheckSelfHosted ← Box#341
Value
25
Constant undefined
Undefined
26
GuardShape ← Unbox#22
Object
27
Elements ← GuardShape#26
Elements
28
ArrayLength ← Elements#27
Int32
29
Constant 0x1
Int32
30
Constant 0x0
Int32
31
MinMax ← ArrayLength#28, Constant#30 (max)
Int32
32
Constant 0x1
Int32
33
Constant 0x0
Int32
34
Compare ← Constant#32, Constant#33 StrictEq
Bool
35
Test ← Compare#34 → block 2, block 3
1
0
Block 2
36
CallGetIntrinsicValue
Value
37
DebugCheckSelfHosted ← CallGetIntrinsicValue#36
Value
38
Constant undefined
Undefined
39
Constant 0x37
Int32
40
Constant 0x0
Int32
41
Constant string 104289c2e080
String
42
Bail
325
Unreachable
Block 3
45
Constant function IsCallable at 104289c6c7b0
Object
342
Box ← Constant#45
Value
46
DebugCheckSelfHosted ← Box#342
Value
47
Constant undefined
Undefined
48
Constant 0x1
Int32
49
IsCallable ← Lambda#12
Bool
50
Test ← IsCallable#49 → block 5, block 4
1
0
Block 4
51
CallGetIntrinsicValue
Value
52
DebugCheckSelfHosted ← CallGetIntrinsicValue#51
Value
53
Constant undefined
Undefined
54
Constant 0xc
Int32
55
CallGetIntrinsicValue
Value
56
DebugCheckSelfHosted ← CallGetIntrinsicValue#55
Value
57
Constant undefined
Undefined
58
Constant 0x0
Int32
59
Bail
324
Unreachable
Block 5
64
Constant 0x1
Int32
65
Constant 0x1
Int32
66
Compare ← Constant#64, Constant#65 Gt
Bool
67
Test ← Compare#66 → block 6, block 7
1
0
Block 6
68
Constant 0x1
Int32
69
GetInlinedArgument ← Constant#68, Lambda#12
Value
70
Goto → block 8
Block 7
71
Constant undefined
Undefined
343
Box ← Constant#71
Value
72
Goto → block 8
Block 8
73
Phi ← Box#343, GetInlinedArgument#69
Value
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
344
Box ← Constant#74
Value
75
DebugCheckSelfHosted ← Box#344
Value
76
Constant undefined
Undefined
77
Constant 0x1
Int32
78
HasShape ← Unbox#22
Bool
79
Test ← HasShape#78 → block 9, block 10
1
0
Block 9
80
Constant function std_Array at 104289c6c820
Object
345
Box ← Constant#80
Value
81
DebugCheckSelfHosted ← Box#345
Value
82
Constant undefined
Undefined
83
Constant 0x1
Int32
84
Unbox DebugCheckSelfHosted#81 to Object (fallible)
Object
85
Constant function std_Array at 104289c6c820
Object
86
GuardSpecificFunction ← Unbox#84, Constant#85
Object
87
NewArrayDynamicLength ← MinMax#31
Object
88
Goto → block 11
Block 10
89
CallGetIntrinsicValue
Value
90
DebugCheckSelfHosted ← CallGetIntrinsicValue#89
Value
91
Constant undefined
Undefined
92
Bail
323
Unreachable
Block 11
96
Constant 0x0
Int32
108
Goto → block 12
Block 12 (loop header)
105
Phi ← Constant#96, Add#153
Int32
334
Constant magic optimized-out
MagicOptimizedOut
109
InterruptCheck
346
Box ← Phi#105
Value
110
Unbox Box#346 to Int32 (fallible)
Int32
347
Box ← MinMax#31
Value
111
Unbox Box#347 to Int32 (fallible)
Int32
112
Compare ← Unbox#110, Unbox#111 Lt
Bool
113
Test ← Compare#112 → block 13, block 19
1
0
Block 13
339
Constant magic optimized-out
MagicOptimizedOut
348
Box ← Unbox#22
Value
114
Unbox Box#348 to Object (fallible)
Object
349
Box ← Phi#105
Value
115
Unbox Box#349 to Int32 (fallible)
Int32
116
GuardShape ← Unbox#114
Object
117
Elements ← GuardShape#116
Elements
118
InitializedLength ← Elements#117
Int32
119
BoundsCheck ← Unbox#115, InitializedLength#118
Int32
120
SpectreMaskIndex ← BoundsCheck#119, InitializedLength#118
Int32
121
GuardElementNotHole ← Elements#117, SpectreMaskIndex#120
122
Constant true
Bool
123
Test ← Constant#122 → block 15, block 14
1
0
Block 14 (split edge)
336
Constant magic optimized-out
MagicOptimizedOut
326
Goto → block 18
Block 15
338
Constant magic optimized-out
MagicOptimizedOut
350
Box ← Unbox#22
Value
124
Unbox Box#350 to Object (fallible)
Object
351
Box ← Phi#105
Value
125
Unbox Box#351 to Int32 (fallible)
Int32
126
GuardShape ← Unbox#124
Object
127
Elements ← GuardShape#126
Elements
128
InitializedLength ← Elements#127
Int32
129
BoundsCheck ← Unbox#125, InitializedLength#128
Int32
130
SpectreMaskIndex ← BoundsCheck#129, InitializedLength#128
Int32
131
GuardElementsArePacked ← Elements#127
132
LoadElement ← Elements#127, SpectreMaskIndex#130
Value
133
Constant 0x3
Int32
352
Box ← Lambda#12
Value
134
Unbox Box#352 to Object (fallible)
Object
135
GuardToFunction ← Unbox#134
Object
136
GuardFunctionScript ← GuardToFunction#135
Object
137
Goto → block 16
Block 16
138
Constant undefined
Undefined
139
Constant 0x2
Int32
140
Unbox LoadElement#132 to Double (fallible)
Double
353
ToDouble ← Constant#139
Double
141
Mul ← Unbox#140, ToDouble#353 [double]
Double
143
Goto → block 17
Block 17
337
Constant magic optimized-out
MagicOptimizedOut
354
Box ← NewArrayDynamicLength#87
Value
144
Unbox Box#354 to Object (fallible)
Object
355
Box ← Phi#105
Value
145
Unbox Box#355 to Int32 (fallible)
Int32
146
GuardShape ← Unbox#144
Object
147
Elements ← GuardShape#146
Elements
148
StoreElementHole ← GuardShape#146, Elements#147, Unbox#145, Mul#141
149
Goto → block 18
Block 18 (backedge)
335
Constant magic optimized-out
MagicOptimizedOut
356
Box ← Phi#105
Value
151
Unbox Box#356 to Int32 (fallible)
Int32
152
Constant 0x1
Int32
153
Add ← Unbox#151, Constant#152 [int32]
Int32
154
Goto → block 12
Block 19
357
Box ← NewArrayDynamicLength#87
Value
157
Unbox Box#357 to Object (fallible)
Object
158
GuardShape ← Unbox#157
Object
159
Constant object 104289c3e088 (Array)
Object
160
Constant function filter (self-hosted:183) at 104289c47970
Object
161
Constant function complex4/< (-e:18) at 104289c63d60
Object
162
Lambda ← FunctionEnvironment#6, Constant#161
Object
163
Constant 0x1
Int32
164
Constant function filter (self-hosted:183) at 104289c47970
Object
165
GuardSpecificFunction ← Constant#160, Constant#164
Object
166
Goto → block 20
Block 20
167
Constant undefined
Undefined
168
Constant function ToObject at 104289c6c740
Object
358
Box ← Constant#168
Value
169
DebugCheckSelfHosted ← Box#358
Value
170
Constant undefined
Undefined
171
Constant 0x1
Int32
359
Box ← NewArrayDynamicLength#87
Value
172
Unbox Box#359 to Object (fallible)
Object
173
Constant function ToLength at 104289c6c778
Object
360
Box ← Constant#173
Value
174
DebugCheckSelfHosted ← Box#360
Value
175
Constant undefined
Undefined
176
GuardShape ← Unbox#172
Object
177
Elements ← GuardShape#176
Elements
178
ArrayLength ← Elements#177
Int32
179
Constant 0x1
Int32
180
Constant 0x0
Int32
181
MinMax ← ArrayLength#178, Constant#180 (max)
Int32
182
Constant 0x1
Int32
183
Constant 0x0
Int32
184
Compare ← Constant#182, Constant#183 StrictEq
Bool
185
Test ← Compare#184 → block 21, block 22
1
0
Block 21
186
CallGetIntrinsicValue
Value
187
DebugCheckSelfHosted ← CallGetIntrinsicValue#186
Value
188
Constant undefined
Undefined
189
Constant 0x37
Int32
190
Constant 0x0
Int32
191
Constant string 104289c28540
String
192
Bail
322
Unreachable
Block 22
195
Constant function IsCallable at 104289c6c7b0
Object
361
Box ← Constant#195
Value
196
DebugCheckSelfHosted ← Box#361
Value
197
Constant undefined
Undefined
198
Constant 0x1
Int32
199
IsCallable ← Lambda#162
Bool
200
Test ← IsCallable#199 → block 24, block 23
1
0
Block 23
201
CallGetIntrinsicValue
Value
202
DebugCheckSelfHosted ← CallGetIntrinsicValue#201
Value
203
Constant undefined
Undefined
204
Constant 0xc
Int32
205
CallGetIntrinsicValue
Value
206
DebugCheckSelfHosted ← CallGetIntrinsicValue#205
Value
207
Constant undefined
Undefined
208
Constant 0x0
Int32
209
Bail
321
Unreachable
Block 24
214
Constant 0x1
Int32
215
Constant 0x1
Int32
216
Compare ← Constant#214, Constant#215 Gt
Bool
217
Test ← Compare#216 → block 25, block 26
1
0
Block 25
218
Constant 0x1
Int32
219
GetInlinedArgument ← Constant#218, Lambda#162
Value
220
Goto → block 27
Block 26
221
Constant undefined
Undefined
362
Box ← Constant#221
Value
222
Goto → block 27
Block 27
223
Phi ← Box#362, GetInlinedArgument#219
Value
224
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
363
Box ← Constant#224
Value
225
DebugCheckSelfHosted ← Box#363
Value
226
Constant undefined
Undefined
227
Constant 0x1
Int32
228
HasShape ← Unbox#172
Bool
229
Test ← HasShape#228 → block 28, block 29
1
0
Block 28
230
Constant shape at 104289c64f00
Shape
231
NewArrayObject ← Constant#230
Object
232
Goto → block 30
Block 29
233
CallGetIntrinsicValue
Value
234
DebugCheckSelfHosted ← CallGetIntrinsicValue#233
Value
235
Constant undefined
Undefined
236
Constant 0x0
Int32
237
Bail
320
Unreachable
Block 30
241
Constant 0x0
Int32
242
Constant 0x0
Int32
255
Goto → block 31
Block 31 (loop header)
251
Phi ← Constant#241, Add#304
Int32
252
Phi ← Constant#242, Phi#300
Int32
329
Constant magic optimized-out
MagicOptimizedOut
256
InterruptCheck
364
Box ← Phi#251
Value
257
Unbox Box#364 to Int32 (fallible)
Int32
365
Box ← MinMax#181
Value
258
Unbox Box#365 to Int32 (fallible)
Int32
259
Compare ← Unbox#257, Unbox#258 Lt
Bool
260
Test ← Compare#259 → block 32, block 40
1
0
Block 32
333
Constant magic optimized-out
MagicOptimizedOut
366
Box ← Unbox#172
Value
261
Unbox Box#366 to Object (fallible)
Object
367
Box ← Phi#251
Value
262
Unbox Box#367 to Int32 (fallible)
Int32
263
GuardShape ← Unbox#261
Object
264
Elements ← GuardShape#263
Elements
265
InitializedLength ← Elements#264
Int32
266
BoundsCheck ← Unbox#262, InitializedLength#265
Int32
267
SpectreMaskIndex ← BoundsCheck#266, InitializedLength#265
Int32
268
GuardElementNotHole ← Elements#264, SpectreMaskIndex#267
269
Constant true
Bool
270
Test ← Constant#269 → block 34, block 33
1
0
Block 33 (split edge)
331
Constant magic optimized-out
MagicOptimizedOut
327
Goto → block 39
Block 34
332
Constant magic optimized-out
MagicOptimizedOut
368
Box ← Unbox#172
Value
271
Unbox Box#368 to Object (fallible)
Object
369
Box ← Phi#251
Value
272
Unbox Box#369 to Int32 (fallible)
Int32
273
GuardShape ← Unbox#271
Object
274
Elements ← GuardShape#273
Elements
275
InitializedLength ← Elements#274
Int32
276
BoundsCheck ← Unbox#272, InitializedLength#275
Int32
277
SpectreMaskIndex ← BoundsCheck#276, InitializedLength#275
Int32
278
GuardElementsArePacked ← Elements#274
279
LoadElement ← Elements#274, SpectreMaskIndex#277
Value
280
Constant 0x3
Int32
370
Box ← Lambda#162
Value
281
Unbox Box#370 to Object (fallible)
Object
282
GuardToFunction ← Unbox#281
Object
283
GuardFunctionScript ← GuardToFunction#282
Object
284
Goto → block 35
Block 35
285
Constant undefined
Undefined
286
Constant 0x32
Int32
287
Unbox LoadElement#279 to Double (fallible)
Double
371
ToDouble ← Constant#286
Double
288
Compare ← Unbox#287, ToDouble#371 Gt
Bool
290
Goto → block 36
Block 36
291
Test ← Compare#288 → block 38, block 37
1
0
Block 37 (split edge)
328
Goto → block 39
Block 38
372
Box ← Phi#252
Value
292
Unbox Box#372 to Int32 (fallible)
Int32
293
Constant 0x1
Int32
294
Add ← Unbox#292, Constant#293 [int32]
Int32
373
Box ← NewArrayObject#231
Value
295
Unbox Box#373 to Object (fallible)
Object
296
GuardShape ← Unbox#295
Object
297
Elements ← GuardShape#296
Elements
298
StoreElementHole ← GuardShape#296, Elements#297, Unbox#292, LoadElement#279
299
Goto → block 39
Block 39 (backedge)
300
Phi ← Add#294, Phi#252, Phi#252
Int32
330
Constant magic optimized-out
MagicOptimizedOut
374
Box ← Phi#251
Value
302
Unbox Box#374 to Int32 (fallible)
Int32
303
Constant 0x1
Int32
304
Add ← Unbox#302, Constant#303 [int32]
Int32
305
Goto → block 31
Block 40
375
Box ← NewArrayObject#231
Value
308
Unbox Box#375 to Object (fallible)
Object
309
GuardShape ← Unbox#308
Object
310
Constant object 104289c3e088 (Array)
Object
311
Constant function reduce (self-hosted:205) at 104289c479c0
Object
312
Constant function complex4/< (-e:18) at 104289c63d98
Object
313
Lambda ← FunctionEnvironment#6, Constant#312
Object
314
Constant 0x0
Int32
315
Constant 0x2
Int32
316
Constant function reduce (self-hosted:205) at 104289c479c0
Object
317
GuardSpecificFunction ← Constant#311, Constant#316
Object
318
Call ← GuardSpecificFunction#317, NewArrayObject#231, Lambda#313, Constant#314
Value
319
Return ← Call#318
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant object 104289c3e088 (Array)
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
13
Constant 0x1
Int32
14
Constant function map (self-hosted:163) at 104289c47920
Object
15
GuardSpecificFunction ← Constant#10, Constant#14
Object
16
Goto → block 1
Block 1
17
Constant undefined
Undefined
18
Constant function ToObject at 104289c6c740
Object
19
Box ← Constant#18
Value
20
DebugCheckSelfHosted ← Box#19
Value
21
Constant undefined
Undefined
22
Constant 0x1
Int32
23
Unbox Parameter#1 to Object (fallible)
Object
24
Constant function ToLength at 104289c6c778
Object
25
Box ← Constant#24
Value
26
DebugCheckSelfHosted ← Box#25
Value
27
Constant undefined
Undefined
28
GuardShape ← Unbox#23
Object
29
Elements ← GuardShape#28
Elements
30
ArrayLength ← Elements#29
Int32
31
Constant 0x1
Int32
32
Constant 0x0
Int32
33
MinMax ← ArrayLength#30, Constant#32 (max)
Int32
34
Constant 0x1
Int32
35
Constant 0x0
Int32
36
Compare ← Constant#34, Constant#35 StrictEq
Bool
37
Test ← Compare#36 → block 2, block 3
1
0
Block 2
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0x37
Int32
42
Constant 0x0
Int32
43
Constant string 104289c2e080
String
44
Bail
45
Unreachable
Block 3
46
Constant function IsCallable at 104289c6c7b0
Object
47
Box ← Constant#46
Value
48
DebugCheckSelfHosted ← Box#47
Value
49
Constant undefined
Undefined
50
Constant 0x1
Int32
51
IsCallable ← Lambda#12
Bool
52
Test ← IsCallable#51 → block 5, block 4
1
0
Block 4
53
CallGetIntrinsicValue
Value
54
DebugCheckSelfHosted ← CallGetIntrinsicValue#53
Value
55
Constant undefined
Undefined
56
Constant 0xc
Int32
57
CallGetIntrinsicValue
Value
58
DebugCheckSelfHosted ← CallGetIntrinsicValue#57
Value
59
Constant undefined
Undefined
60
Constant 0x0
Int32
61
Bail
62
Unreachable
Block 5
63
Constant 0x1
Int32
64
Constant 0x1
Int32
65
Compare ← Constant#63, Constant#64 Gt
Bool
66
Test ← Compare#65 → block 6, block 7
1
0
Block 6
67
Constant 0x1
Int32
68
GetInlinedArgument ← Constant#67, Lambda#12
Value
69
Goto → block 8
Block 7
70
Constant undefined
Undefined
71
Box ← Constant#70
Value
72
Goto → block 8
Block 8
73
Phi ← Box#71, GetInlinedArgument#68
Value
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
Box ← Constant#74
Value
76
DebugCheckSelfHosted ← Box#75
Value
77
Constant undefined
Undefined
78
Constant 0x1
Int32
79
HasShape ← Unbox#23
Bool
80
Test ← HasShape#79 → block 9, block 10
1
0
Block 9
81
Constant function std_Array at 104289c6c820
Object
82
Box ← Constant#81
Value
83
DebugCheckSelfHosted ← Box#82
Value
84
Constant undefined
Undefined
85
Constant 0x1
Int32
86
Unbox DebugCheckSelfHosted#83 to Object (fallible)
Object
87
Constant function std_Array at 104289c6c820
Object
88
GuardSpecificFunction ← Unbox#86, Constant#87
Object
89
NewArrayDynamicLength ← MinMax#33
Object
90
Goto → block 11
Block 10
91
CallGetIntrinsicValue
Value
92
DebugCheckSelfHosted ← CallGetIntrinsicValue#91
Value
93
Constant undefined
Undefined
94
Bail
95
Unreachable
Block 11
96
Constant 0x0
Int32
97
Goto → block 12
Block 12 (loop header)
98
Phi ← Constant#96, Add#159
Int32
99
Constant magic optimized-out
MagicOptimizedOut
100
InterruptCheck
101
Box ← Phi#98
Value
102
Unbox Box#101 to Int32 (fallible)
Int32
103
Box ← MinMax#33
Value
104
Unbox Box#103 to Int32 (fallible)
Int32
105
Compare ← Unbox#102, Unbox#104 Lt
Bool
106
Test ← Compare#105 → block 13, block 19
1
0
Block 13
107
Constant magic optimized-out
MagicOptimizedOut
108
Box ← Unbox#23
Value
109
Unbox Box#108 to Object (fallible)
Object
110
Box ← Phi#98
Value
111
Unbox Box#110 to Int32 (fallible)
Int32
112
GuardShape ← Unbox#109
Object
113
Elements ← GuardShape#112
Elements
114
InitializedLength ← Elements#113
Int32
115
BoundsCheck ← Unbox#111, InitializedLength#114
Int32
116
SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114
Int32
117
GuardElementNotHole ← Elements#113, SpectreMaskIndex#116
118
Constant true
Bool
119
Test ← Constant#118 → block 15, block 14
1
0
Block 14 (split edge)
120
Constant magic optimized-out
MagicOptimizedOut
121
Goto → block 18
Block 15
122
Constant magic optimized-out
MagicOptimizedOut
123
Box ← Unbox#23
Value
124
Unbox Box#123 to Object (fallible)
Object
125
Box ← Phi#98
Value
126
Unbox Box#125 to Int32 (fallible)
Int32
127
GuardShape ← Unbox#124
Object
128
Elements ← GuardShape#127
Elements
129
InitializedLength ← Elements#128
Int32
130
BoundsCheck ← Unbox#126, InitializedLength#129
Int32
131
SpectreMaskIndex ← BoundsCheck#130, InitializedLength#129
Int32
132
GuardElementsArePacked ← Elements#128
133
LoadElement ← Elements#128, SpectreMaskIndex#131
Value
134
Constant 0x3
Int32
135
Box ← Lambda#12
Value
136
Unbox Box#135 to Object (fallible)
Object
137
GuardToFunction ← Unbox#136
Object
138
GuardFunctionScript ← GuardToFunction#137
Object
139
Goto → block 16
Block 16
140
Constant undefined
Undefined
141
Constant 0x2
Int32
142
Unbox LoadElement#133 to Double (fallible)
Double
143
ToDouble ← Constant#141
Double
144
Mul ← Unbox#142, ToDouble#143 [double]
Double
145
Goto → block 17
Block 17
146
Constant magic optimized-out
MagicOptimizedOut
147
Box ← NewArrayDynamicLength#89
Value
148
Unbox Box#147 to Object (fallible)
Object
149
Box ← Phi#98
Value
150
Unbox Box#149 to Int32 (fallible)
Int32
151
GuardShape ← Unbox#148
Object
152
Elements ← GuardShape#151
Elements
153
StoreElementHole ← GuardShape#151, Elements#152, Unbox#150, Mul#144
154
Goto → block 18
Block 18 (backedge)
155
Constant magic optimized-out
MagicOptimizedOut
156
Box ← Phi#98
Value
157
Unbox Box#156 to Int32 (fallible)
Int32
158
Constant 0x1
Int32
159
Add ← Unbox#157, Constant#158 [int32]
Int32
160
Goto → block 12
Block 19
161
Box ← NewArrayDynamicLength#89
Value
162
Unbox Box#161 to Object (fallible)
Object
163
GuardShape ← Unbox#162
Object
164
Constant object 104289c3e088 (Array)
Object
165
Constant function filter (self-hosted:183) at 104289c47970
Object
166
Constant function complex4/< (-e:18) at 104289c63d60
Object
167
Lambda ← FunctionEnvironment#6, Constant#166
Object
168
Constant 0x1
Int32
169
Constant function filter (self-hosted:183) at 104289c47970
Object
170
GuardSpecificFunction ← Constant#165, Constant#169
Object
171
Goto → block 20
Block 20
172
Constant undefined
Undefined
173
Constant function ToObject at 104289c6c740
Object
174
Box ← Constant#173
Value
175
DebugCheckSelfHosted ← Box#174
Value
176
Constant undefined
Undefined
177
Constant 0x1
Int32
178
Box ← NewArrayDynamicLength#89
Value
179
Unbox Box#178 to Object (fallible)
Object
180
Constant function ToLength at 104289c6c778
Object
181
Box ← Constant#180
Value
182
DebugCheckSelfHosted ← Box#181
Value
183
Constant undefined
Undefined
184
GuardShape ← Unbox#179
Object
185
Elements ← GuardShape#184
Elements
186
ArrayLength ← Elements#185
Int32
187
Constant 0x1
Int32
188
Constant 0x0
Int32
189
MinMax ← ArrayLength#186, Constant#188 (max)
Int32
190
Constant 0x1
Int32
191
Constant 0x0
Int32
192
Compare ← Constant#190, Constant#191 StrictEq
Bool
193
Test ← Compare#192 → block 21, block 22
1
0
Block 21
194
CallGetIntrinsicValue
Value
195
DebugCheckSelfHosted ← CallGetIntrinsicValue#194
Value
196
Constant undefined
Undefined
197
Constant 0x37
Int32
198
Constant 0x0
Int32
199
Constant string 104289c28540
String
200
Bail
201
Unreachable
Block 22
202
Constant function IsCallable at 104289c6c7b0
Object
203
Box ← Constant#202
Value
204
DebugCheckSelfHosted ← Box#203
Value
205
Constant undefined
Undefined
206
Constant 0x1
Int32
207
IsCallable ← Lambda#167
Bool
208
Test ← IsCallable#207 → block 24, block 23
1
0
Block 23
209
CallGetIntrinsicValue
Value
210
DebugCheckSelfHosted ← CallGetIntrinsicValue#209
Value
211
Constant undefined
Undefined
212
Constant 0xc
Int32
213
CallGetIntrinsicValue
Value
214
DebugCheckSelfHosted ← CallGetIntrinsicValue#213
Value
215
Constant undefined
Undefined
216
Constant 0x0
Int32
217
Bail
218
Unreachable
Block 24
219
Constant 0x1
Int32
220
Constant 0x1
Int32
221
Compare ← Constant#219, Constant#220 Gt
Bool
222
Test ← Compare#221 → block 25, block 26
1
0
Block 25
223
Constant 0x1
Int32
224
GetInlinedArgument ← Constant#223, Lambda#167
Value
225
Goto → block 27
Block 26
226
Constant undefined
Undefined
227
Box ← Constant#226
Value
228
Goto → block 27
Block 27
229
Phi ← Box#227, GetInlinedArgument#224
Value
230
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
231
Box ← Constant#230
Value
232
DebugCheckSelfHosted ← Box#231
Value
233
Constant undefined
Undefined
234
Constant 0x1
Int32
235
HasShape ← Unbox#179
Bool
236
Test ← HasShape#235 → block 28, block 29
1
0
Block 28
237
Constant shape at 104289c64f00
Shape
238
NewArrayObject ← Constant#237
Object
239
Goto → block 30
Block 29
240
CallGetIntrinsicValue
Value
241
DebugCheckSelfHosted ← CallGetIntrinsicValue#240
Value
242
Constant undefined
Undefined
243
Constant 0x0
Int32
244
Bail
245
Unreachable
Block 30
246
Constant 0x0
Int32
247
Constant 0x0
Int32
248
Goto → block 31
Block 31 (loop header)
249
Phi ← Constant#246, Add#315
Int32
250
Phi ← Constant#247, Phi#310
Int32
251
Constant magic optimized-out
MagicOptimizedOut
252
InterruptCheck
253
Box ← Phi#249
Value
254
Unbox Box#253 to Int32 (fallible)
Int32
255
Box ← MinMax#189
Value
256
Unbox Box#255 to Int32 (fallible)
Int32
257
Compare ← Unbox#254, Unbox#256 Lt
Bool
258
Test ← Compare#257 → block 32, block 40
1
0
Block 32
259
Constant magic optimized-out
MagicOptimizedOut
260
Box ← Unbox#179
Value
261
Unbox Box#260 to Object (fallible)
Object
262
Box ← Phi#249
Value
263
Unbox Box#262 to Int32 (fallible)
Int32
264
GuardShape ← Unbox#261
Object
265
Elements ← GuardShape#264
Elements
266
InitializedLength ← Elements#265
Int32
267
BoundsCheck ← Unbox#263, InitializedLength#266
Int32
268
SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266
Int32
269
GuardElementNotHole ← Elements#265, SpectreMaskIndex#268
270
Constant true
Bool
271
Test ← Constant#270 → block 34, block 33
1
0
Block 33 (split edge)
272
Constant magic optimized-out
MagicOptimizedOut
273
Goto → block 39
Block 34
274
Constant magic optimized-out
MagicOptimizedOut
275
Box ← Unbox#179
Value
276
Unbox Box#275 to Object (fallible)
Object
277
Box ← Phi#249
Value
278
Unbox Box#277 to Int32 (fallible)
Int32
279
GuardShape ← Unbox#276
Object
280
Elements ← GuardShape#279
Elements
281
InitializedLength ← Elements#280
Int32
282
BoundsCheck ← Unbox#278, InitializedLength#281
Int32
283
SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281
Int32
284
GuardElementsArePacked ← Elements#280
285
LoadElement ← Elements#280, SpectreMaskIndex#283
Value
286
Constant 0x3
Int32
287
Box ← Lambda#167
Value
288
Unbox Box#287 to Object (fallible)
Object
289
GuardToFunction ← Unbox#288
Object
290
GuardFunctionScript ← GuardToFunction#289
Object
291
Goto → block 35
Block 35
292
Constant undefined
Undefined
293
Constant 0x32
Int32
294
Unbox LoadElement#285 to Double (fallible)
Double
295
ToDouble ← Constant#293
Double
296
Compare ← Unbox#294, ToDouble#295 Gt
Bool
297
Goto → block 36
Block 36
298
Test ← Compare#296 → block 38, block 37
1
0
Block 37 (split edge)
299
Goto → block 39
Block 38
300
Box ← Phi#250
Value
301
Unbox Box#300 to Int32 (fallible)
Int32
302
Constant 0x1
Int32
303
Add ← Unbox#301, Constant#302 [int32]
Int32
304
Box ← NewArrayObject#238
Value
305
Unbox Box#304 to Object (fallible)
Object
306
GuardShape ← Unbox#305
Object
307
Elements ← GuardShape#306
Elements
308
StoreElementHole ← GuardShape#306, Elements#307, Unbox#301, LoadElement#285
309
Goto → block 39
Block 39 (backedge)
310
Phi ← Add#303, Phi#250, Phi#250
Int32
311
Constant magic optimized-out
MagicOptimizedOut
312
Box ← Phi#249
Value
313
Unbox Box#312 to Int32 (fallible)
Int32
314
Constant 0x1
Int32
315
Add ← Unbox#313, Constant#314 [int32]
Int32
316
Goto → block 31
Block 40
317
Box ← NewArrayObject#238
Value
318
Unbox Box#317 to Object (fallible)
Object
319
GuardShape ← Unbox#318
Object
320
Constant object 104289c3e088 (Array)
Object
321
Constant function reduce (self-hosted:205) at 104289c479c0
Object
322
Constant function complex4/< (-e:18) at 104289c63d98
Object
323
Lambda ← FunctionEnvironment#6, Constant#322
Object
324
Constant 0x0
Int32
325
Constant 0x2
Int32
326
Constant function reduce (self-hosted:205) at 104289c479c0
Object
327
GuardSpecificFunction ← Constant#321, Constant#326
Object
328
Call ← GuardSpecificFunction#327, NewArrayObject#238, Lambda#323, Constant#324
Value
329
Return ← Call#328
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant object 104289c3e088 (Array)
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
13
Constant 0x1
Int32
14
Constant function map (self-hosted:163) at 104289c47920
Object
15
GuardSpecificFunction ← Constant#10, Constant#14
Object
16
Goto → block 1
Block 1
17
Constant undefined
Undefined
18
Constant function ToObject at 104289c6c740
Object
19
Box ← Constant#18
Value
20
DebugCheckSelfHosted ← Box#19
Value
21
Constant undefined
Undefined
22
Constant 0x1
Int32
23
Unbox Parameter#1 to Object (fallible)
Object
24
Constant function ToLength at 104289c6c778
Object
25
Box ← Constant#24
Value
26
DebugCheckSelfHosted ← Box#25
Value
27
Constant undefined
Undefined
28
GuardShape ← Unbox#23
Object
29
Elements ← GuardShape#28
Elements
30
ArrayLength ← Elements#29
Int32
31
Constant 0x1
Int32
32
Constant 0x0
Int32
33
MinMax ← ArrayLength#30, Constant#32 (max)
Int32
34
Constant 0x1
Int32
35
Constant 0x0
Int32
36
Compare ← Constant#34, Constant#35 StrictEq
Bool
37
Test ← Compare#36 → block 2, block 3
1
0
Block 2
38
CallGetIntrinsicValue
Value
39
DebugCheckSelfHosted ← CallGetIntrinsicValue#38
Value
40
Constant undefined
Undefined
41
Constant 0x37
Int32
42
Constant 0x0
Int32
43
Constant string 104289c2e080
String
44
Bail
45
Unreachable
Block 3
46
Constant function IsCallable at 104289c6c7b0
Object
47
Box ← Constant#46
Value
48
DebugCheckSelfHosted ← Box#47
Value
49
Constant undefined
Undefined
50
Constant 0x1
Int32
51
IsCallable ← Lambda#12
Bool
52
Test ← IsCallable#51 → block 5, block 4
1
0
Block 4
53
CallGetIntrinsicValue
Value
54
DebugCheckSelfHosted ← CallGetIntrinsicValue#53
Value
55
Constant undefined
Undefined
56
Constant 0xc
Int32
57
CallGetIntrinsicValue
Value
58
DebugCheckSelfHosted ← CallGetIntrinsicValue#57
Value
59
Constant undefined
Undefined
60
Constant 0x0
Int32
61
Bail
62
Unreachable
Block 5
63
Constant 0x1
Int32
64
Constant 0x1
Int32
65
Compare ← Constant#63, Constant#64 Gt
Bool
66
Test ← Compare#65 → block 6, block 7
1
0
Block 6
67
Constant 0x1
Int32
68
GetInlinedArgument ← Constant#67, Lambda#12
Value
69
Goto → block 8
Block 7
70
Constant undefined
Undefined
71
Box ← Constant#70
Value
72
Goto → block 8
Block 8
73
Phi ← Box#71, GetInlinedArgument#68
Value
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
Box ← Constant#74
Value
76
DebugCheckSelfHosted ← Box#75
Value
77
Constant undefined
Undefined
78
Constant 0x1
Int32
79
HasShape ← Unbox#23
Bool
80
Test ← HasShape#79 → block 9, block 10
1
0
Block 9
81
Constant function std_Array at 104289c6c820
Object
82
Box ← Constant#81
Value
83
DebugCheckSelfHosted ← Box#82
Value
84
Constant undefined
Undefined
85
Constant 0x1
Int32
86
Unbox DebugCheckSelfHosted#83 to Object (fallible)
Object
87
Constant function std_Array at 104289c6c820
Object
88
GuardSpecificFunction ← Unbox#86, Constant#87
Object
89
NewArrayDynamicLength ← MinMax#33
Object
90
Goto → block 11
Block 10
91
CallGetIntrinsicValue
Value
92
DebugCheckSelfHosted ← CallGetIntrinsicValue#91
Value
93
Constant undefined
Undefined
94
Bail
95
Unreachable
Block 11
96
Constant 0x0
Int32
97
Goto → block 12
Block 12 (loop header)
98
Phi ← Constant#96, Add#159
Int32
99
Constant magic optimized-out
MagicOptimizedOut
100
InterruptCheck
101
Box ← Phi#98
Value
102
Unbox Box#101 to Int32 (fallible)
Int32
103
Box ← MinMax#33
Value
104
Unbox Box#103 to Int32 (fallible)
Int32
105
Compare ← Unbox#102, Unbox#104 Lt
Bool
106
Test ← Compare#105 → block 13, block 19
1
0
Block 13
107
Constant magic optimized-out
MagicOptimizedOut
108
Box ← Unbox#23
Value
109
Unbox Box#108 to Object (fallible)
Object
110
Box ← Phi#98
Value
111
Unbox Box#110 to Int32 (fallible)
Int32
112
GuardShape ← Unbox#109
Object
113
Elements ← GuardShape#112
Elements
114
InitializedLength ← Elements#113
Int32
115
BoundsCheck ← Unbox#111, InitializedLength#114
Int32
116
SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114
Int32
117
GuardElementNotHole ← Elements#113, SpectreMaskIndex#116
118
Constant true
Bool
119
Test ← Constant#118 → block 15, block 14
1
0
Block 14 (split edge)
120
Constant magic optimized-out
MagicOptimizedOut
121
Goto → block 18
Block 15
122
Constant magic optimized-out
MagicOptimizedOut
123
Box ← Unbox#23
Value
124
Unbox Box#123 to Object (fallible)
Object
125
Box ← Phi#98
Value
126
Unbox Box#125 to Int32 (fallible)
Int32
127
GuardShape ← Unbox#124
Object
128
Elements ← GuardShape#127
Elements
129
InitializedLength ← Elements#128
Int32
130
BoundsCheck ← Unbox#126, InitializedLength#129
Int32
131
SpectreMaskIndex ← BoundsCheck#130, InitializedLength#129
Int32
132
GuardElementsArePacked ← Elements#128
133
LoadElement ← Elements#128, SpectreMaskIndex#131
Value
134
Constant 0x3
Int32
135
Box ← Lambda#12
Value
136
Unbox Box#135 to Object (fallible)
Object
137
GuardToFunction ← Unbox#136
Object
138
GuardFunctionScript ← GuardToFunction#137
Object
139
Goto → block 16
Block 16
140
Constant undefined
Undefined
141
Constant 0x2
Int32
142
Unbox LoadElement#133 to Double (fallible)
Double
143
ToDouble ← Constant#141
Double
144
Mul ← Unbox#142, ToDouble#143 [double]
Double
145
Goto → block 17
Block 17
146
Constant magic optimized-out
MagicOptimizedOut
147
Box ← NewArrayDynamicLength#89
Value
148
Unbox Box#147 to Object (fallible)
Object
149
Box ← Phi#98
Value
150
Unbox Box#149 to Int32 (fallible)
Int32
151
GuardShape ← Unbox#148
Object
152
Elements ← GuardShape#151
Elements
153
StoreElementHole ← GuardShape#151, Elements#152, Unbox#150, Mul#144
154
Goto → block 18
Block 18 (backedge)
155
Constant magic optimized-out
MagicOptimizedOut
156
Box ← Phi#98
Value
157
Unbox Box#156 to Int32 (fallible)
Int32
158
Constant 0x1
Int32
159
Add ← Unbox#157, Constant#158 [int32]
Int32
160
Goto → block 12
Block 19
161
Box ← NewArrayDynamicLength#89
Value
162
Unbox Box#161 to Object (fallible)
Object
163
GuardShape ← Unbox#162
Object
164
Constant object 104289c3e088 (Array)
Object
165
Constant function filter (self-hosted:183) at 104289c47970
Object
166
Constant function complex4/< (-e:18) at 104289c63d60
Object
167
Lambda ← FunctionEnvironment#6, Constant#166
Object
168
Constant 0x1
Int32
169
Constant function filter (self-hosted:183) at 104289c47970
Object
170
GuardSpecificFunction ← Constant#165, Constant#169
Object
171
Goto → block 20
Block 20
172
Constant undefined
Undefined
173
Constant function ToObject at 104289c6c740
Object
174
Box ← Constant#173
Value
175
DebugCheckSelfHosted ← Box#174
Value
176
Constant undefined
Undefined
177
Constant 0x1
Int32
178
Box ← NewArrayDynamicLength#89
Value
179
Unbox Box#178 to Object (fallible)
Object
180
Constant function ToLength at 104289c6c778
Object
181
Box ← Constant#180
Value
182
DebugCheckSelfHosted ← Box#181
Value
183
Constant undefined
Undefined
184
GuardShape ← Unbox#179
Object
185
Elements ← GuardShape#184
Elements
186
ArrayLength ← Elements#185
Int32
187
Constant 0x1
Int32
188
Constant 0x0
Int32
189
MinMax ← ArrayLength#186, Constant#188 (max)
Int32
190
Constant 0x1
Int32
191
Constant 0x0
Int32
192
Compare ← Constant#190, Constant#191 StrictEq
Bool
193
Test ← Compare#192 → block 21, block 22
1
0
Block 21
194
CallGetIntrinsicValue
Value
195
DebugCheckSelfHosted ← CallGetIntrinsicValue#194
Value
196
Constant undefined
Undefined
197
Constant 0x37
Int32
198
Constant 0x0
Int32
199
Constant string 104289c28540
String
200
Bail
201
Unreachable
Block 22
202
Constant function IsCallable at 104289c6c7b0
Object
203
Box ← Constant#202
Value
204
DebugCheckSelfHosted ← Box#203
Value
205
Constant undefined
Undefined
206
Constant 0x1
Int32
207
IsCallable ← Lambda#167
Bool
208
Test ← IsCallable#207 → block 24, block 23
1
0
Block 23
209
CallGetIntrinsicValue
Value
210
DebugCheckSelfHosted ← CallGetIntrinsicValue#209
Value
211
Constant undefined
Undefined
212
Constant 0xc
Int32
213
CallGetIntrinsicValue
Value
214
DebugCheckSelfHosted ← CallGetIntrinsicValue#213
Value
215
Constant undefined
Undefined
216
Constant 0x0
Int32
217
Bail
218
Unreachable
Block 24
219
Constant 0x1
Int32
220
Constant 0x1
Int32
221
Compare ← Constant#219, Constant#220 Gt
Bool
222
Test ← Compare#221 → block 25, block 26
1
0
Block 25
223
Constant 0x1
Int32
224
GetInlinedArgument ← Constant#223, Lambda#167
Value
225
Goto → block 27
Block 26
226
Constant undefined
Undefined
227
Box ← Constant#226
Value
228
Goto → block 27
Block 27
229
Phi ← Box#227, GetInlinedArgument#224
Value
230
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
231
Box ← Constant#230
Value
232
DebugCheckSelfHosted ← Box#231
Value
233
Constant undefined
Undefined
234
Constant 0x1
Int32
235
HasShape ← Unbox#179
Bool
236
Test ← HasShape#235 → block 28, block 29
1
0
Block 28
237
Constant shape at 104289c64f00
Shape
238
NewArrayObject ← Constant#237
Object
239
Goto → block 30
Block 29
240
CallGetIntrinsicValue
Value
241
DebugCheckSelfHosted ← CallGetIntrinsicValue#240
Value
242
Constant undefined
Undefined
243
Constant 0x0
Int32
244
Bail
245
Unreachable
Block 30
246
Constant 0x0
Int32
247
Constant 0x0
Int32
248
Goto → block 31
Block 31 (loop header)
249
Phi ← Constant#246, Add#315
Int32
250
Phi ← Constant#247, Phi#310
Int32
251
Constant magic optimized-out
MagicOptimizedOut
252
InterruptCheck
253
Box ← Phi#249
Value
254
Unbox Box#253 to Int32 (fallible)
Int32
255
Box ← MinMax#189
Value
256
Unbox Box#255 to Int32 (fallible)
Int32
257
Compare ← Unbox#254, Unbox#256 Lt
Bool
258
Test ← Compare#257 → block 32, block 40
1
0
Block 32
259
Constant magic optimized-out
MagicOptimizedOut
260
Box ← Unbox#179
Value
261
Unbox Box#260 to Object (fallible)
Object
262
Box ← Phi#249
Value
263
Unbox Box#262 to Int32 (fallible)
Int32
264
GuardShape ← Unbox#261
Object
265
Elements ← GuardShape#264
Elements
266
InitializedLength ← Elements#265
Int32
267
BoundsCheck ← Unbox#263, InitializedLength#266
Int32
268
SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266
Int32
269
GuardElementNotHole ← Elements#265, SpectreMaskIndex#268
270
Constant true
Bool
271
Test ← Constant#270 → block 34, block 33
1
0
Block 33 (split edge)
272
Constant magic optimized-out
MagicOptimizedOut
273
Goto → block 39
Block 34
274
Constant magic optimized-out
MagicOptimizedOut
275
Box ← Unbox#179
Value
276
Unbox Box#275 to Object (fallible)
Object
277
Box ← Phi#249
Value
278
Unbox Box#277 to Int32 (fallible)
Int32
279
GuardShape ← Unbox#276
Object
280
Elements ← GuardShape#279
Elements
281
InitializedLength ← Elements#280
Int32
282
BoundsCheck ← Unbox#278, InitializedLength#281
Int32
283
SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281
Int32
284
GuardElementsArePacked ← Elements#280
285
LoadElement ← Elements#280, SpectreMaskIndex#283
Value
286
Constant 0x3
Int32
287
Box ← Lambda#167
Value
288
Unbox Box#287 to Object (fallible)
Object
289
GuardToFunction ← Unbox#288
Object
290
GuardFunctionScript ← GuardToFunction#289
Object
291
Goto → block 35
Block 35
292
Constant undefined
Undefined
293
Constant 0x32
Int32
294
Unbox LoadElement#285 to Double (fallible)
Double
295
ToDouble ← Constant#293
Double
296
Compare ← Unbox#294, ToDouble#295 Gt
Bool
297
Goto → block 36
Block 36
298
Test ← Compare#296 → block 38, block 37
1
0
Block 37 (split edge)
299
Goto → block 39
Block 38
300
Box ← Phi#250
Value
301
Unbox Box#300 to Int32 (fallible)
Int32
302
Constant 0x1
Int32
303
Add ← Unbox#301, Constant#302 [int32]
Int32
304
Box ← NewArrayObject#238
Value
305
Unbox Box#304 to Object (fallible)
Object
306
GuardShape ← Unbox#305
Object
307
Elements ← GuardShape#306
Elements
308
StoreElementHole ← GuardShape#306, Elements#307, Unbox#301, LoadElement#285
309
Goto → block 39
Block 39 (backedge)
310
Phi ← Add#303, Phi#250, Phi#250
Int32
311
Constant magic optimized-out
MagicOptimizedOut
312
Box ← Phi#249
Value
313
Unbox Box#312 to Int32 (fallible)
Int32
314
Constant 0x1
Int32
315
Add ← Unbox#313, Constant#314 [int32]
Int32
316
Goto → block 31
Block 40
317
Box ← NewArrayObject#238
Value
318
Unbox Box#317 to Object (fallible)
Object
319
GuardShape ← Unbox#318
Object
320
Constant object 104289c3e088 (Array)
Object
321
Constant function reduce (self-hosted:205) at 104289c479c0
Object
322
Constant function complex4/< (-e:18) at 104289c63d98
Object
323
Lambda ← FunctionEnvironment#6, Constant#322
Object
324
Constant 0x0
Int32
325
Constant 0x2
Int32
326
Constant function reduce (self-hosted:205) at 104289c479c0
Object
327
GuardSpecificFunction ← Constant#321, Constant#326
Object
328
Call ← GuardSpecificFunction#327, NewArrayObject#238, Lambda#323, Constant#324
Value
329
Return ← Call#328
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
16
Goto → block 1
Block 1
18
Constant function ToObject at 104289c6c740
Object
19
Box ← Constant#18
Value
20
DebugCheckSelfHosted ← Box#19
Value
24
Constant function ToLength at 104289c6c778
Object
25
Box ← Constant#24
Value
26
DebugCheckSelfHosted ← Box#25
Value
28
GuardShape ← Unbox#7
Object
29
Elements ← GuardShape#28
Elements
30
ArrayLength ← Elements#29
Int32
377
Goto → block 2
Block 2
46
Constant function IsCallable at 104289c6c7b0
Object
47
Box ← Constant#46
Value
48
DebugCheckSelfHosted ← Box#47
Value
378
AssertClass ← Lambda#12
380
Goto → block 3
Block 3
382
Goto → block 4
Block 4
71
Box ← Constant#2
Value
72
Goto → block 5
Block 5
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
Box ← Constant#74
Value
76
DebugCheckSelfHosted ← Box#75
Value
79
HasShape ← Unbox#7
Bool
80
Test ← HasShape#79 → block 6, block 7
1
0
Block 6
81
Constant function std_Array at 104289c6c820
Object
82
Box ← Constant#81
Value
83
DebugCheckSelfHosted ← Box#82
Value
86
Unbox DebugCheckSelfHosted#83 to Object (fallible)
Object
88
GuardSpecificFunction ← Unbox#86, Constant#81
Object
89
NewArrayDynamicLength ← ArrayLength#30
Object
90
Goto → block 8
Block 7
91
CallGetIntrinsicValue
Value
92
DebugCheckSelfHosted ← CallGetIntrinsicValue#91
Value
94
Bail
95
Unreachable
Block 8
96
Constant 0x0
Int32
97
Goto → block 9
Block 9 (loop header)
98
Phi ← Constant#96, Add#159
Int32
99
Constant magic optimized-out
MagicOptimizedOut
100
InterruptCheck
105
Compare ← Phi#98, ArrayLength#30 Lt
Bool
106
Test ← Compare#105 → block 10, block 15
1
0
Block 10
112
GuardShape ← Unbox#7
Object
113
Elements ← GuardShape#112
Elements
114
InitializedLength ← Elements#113
Int32
115
BoundsCheck ← Phi#98, InitializedLength#114
Int32
116
SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114
Int32
117
GuardElementNotHole ← Elements#113, SpectreMaskIndex#116
383
Goto → block 11
Block 11
132
GuardElementsArePacked ← Elements#113
133
LoadElement ← Elements#113, SpectreMaskIndex#116
Value
384
AssertClass ← Lambda#12
139
Goto → block 12
Block 12
142
Unbox LoadElement#133 to Double (fallible)
Double
385
Constant 2
Double
144
Mul ← Unbox#142, Constant#385 [double]
Double
145
Goto → block 13
Block 13
151
GuardShape ← NewArrayDynamicLength#89
Object
152
Elements ← GuardShape#151
Elements
153
StoreElementHole ← GuardShape#151, Elements#152, Phi#98, Mul#144
154
Goto → block 14
Block 14 (backedge)
158
Constant 0x1
Int32
159
Add ← Phi#98, Constant#158 [int32]
Int32
160
Goto → block 9
Block 15
163
GuardShape ← NewArrayDynamicLength#89
Object
165
Constant function filter (self-hosted:183) at 104289c47970
Object
166
Constant function complex4/< (-e:18) at 104289c63d60
Object
167
Lambda ← FunctionEnvironment#6, Constant#166
Object
171
Goto → block 16
Block 16
175
DebugCheckSelfHosted ← Box#19
Value
182
DebugCheckSelfHosted ← Box#25
Value
184
GuardShape ← NewArrayDynamicLength#89
Object
185
Elements ← GuardShape#184
Elements
186
ArrayLength ← Elements#185
Int32
387
Goto → block 17
Block 17
204
DebugCheckSelfHosted ← Box#47
Value
388
AssertClass ← Lambda#167
390
Goto → block 18
Block 18
392
Goto → block 19
Block 19
228
Goto → block 20
Block 20
232
DebugCheckSelfHosted ← Box#75
Value
235
HasShape ← NewArrayDynamicLength#89
Bool
236
Test ← HasShape#235 → block 21, block 22
1
0
Block 21
237
Constant shape at 104289c64f00
Shape
238
NewArrayObject ← Constant#237
Object
239
Goto → block 23
Block 22
240
CallGetIntrinsicValue
Value
241
DebugCheckSelfHosted ← CallGetIntrinsicValue#240
Value
244
Bail
245
Unreachable
Block 23
248
Goto → block 24
Block 24 (loop header)
249
Phi ← Constant#96, Add#315
Int32
250
Phi ← Constant#96, Phi#310
Int32
252
InterruptCheck
257
Compare ← Phi#249, ArrayLength#186 Lt
Bool
258
Test ← Compare#257 → block 25, block 32
1
0
Block 25
264
GuardShape ← NewArrayDynamicLength#89
Object
265
Elements ← GuardShape#264
Elements
266
InitializedLength ← Elements#265
Int32
267
BoundsCheck ← Phi#249, InitializedLength#266
Int32
268
SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266
Int32
269
GuardElementNotHole ← Elements#265, SpectreMaskIndex#268
393
Goto → block 26
Block 26
284
GuardElementsArePacked ← Elements#265
285
LoadElement ← Elements#265, SpectreMaskIndex#268
Value
394
AssertClass ← Lambda#167
291
Goto → block 27
Block 27
294
Unbox LoadElement#285 to Double (fallible)
Double
395
Constant 50
Double
296
Compare ← Unbox#294, Constant#395 Gt
Bool
297
Goto → block 28
Block 28
298
Test ← Compare#296 → block 30, block 29
1
0
Block 29 (split edge)
299
Goto → block 31
Block 30
302
Constant 0x1
Int32
303
Add ← Phi#250, Constant#302 [int32]
Int32
306
GuardShape ← NewArrayObject#238
Object
307
Elements ← GuardShape#306
Elements
308
StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285
309
Goto → block 31
Block 31 (backedge)
310
Phi ← Add#303, Phi#250
Int32
314
Constant 0x1
Int32
315
Add ← Phi#249, Constant#314 [int32]
Int32
316
Goto → block 24
Block 32
319
GuardShape ← NewArrayObject#238
Object
321
Constant function reduce (self-hosted:205) at 104289c479c0
Object
322
Constant function complex4/< (-e:18) at 104289c63d98
Object
323
Lambda ← FunctionEnvironment#6, Constant#322
Object
328
Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96
Value
329
Return ← Call#328
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
16
Goto → block 1
Block 1
18
Constant function ToObject at 104289c6c740
Object
19
Box ← Constant#18
Value
20
DebugCheckSelfHosted ← Box#19
Value
24
Constant function ToLength at 104289c6c778
Object
25
Box ← Constant#24
Value
26
DebugCheckSelfHosted ← Box#25
Value
28
GuardShape ← Unbox#7
Object
29
Elements ← GuardShape#28
Elements
30
ArrayLength ← Elements#29
Int32
377
Goto → block 2
Block 2
46
Constant function IsCallable at 104289c6c7b0
Object
47
Box ← Constant#46
Value
48
DebugCheckSelfHosted ← Box#47
Value
378
AssertClass ← Lambda#12
380
Goto → block 3
Block 3
382
Goto → block 4
Block 4
71
Box ← Constant#2
Value
72
Goto → block 5
Block 5
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
Box ← Constant#74
Value
76
DebugCheckSelfHosted ← Box#75
Value
79
HasShape ← Unbox#7
Bool
80
Test ← HasShape#79 → block 6, block 7
1
0
Block 6
81
Constant function std_Array at 104289c6c820
Object
82
Box ← Constant#81
Value
83
DebugCheckSelfHosted ← Box#82
Value
86
Unbox DebugCheckSelfHosted#83 to Object (fallible)
Object
88
GuardSpecificFunction ← Unbox#86, Constant#81
Object
89
NewArrayDynamicLength ← ArrayLength#30
Object
90
Goto → block 8
Block 7
91
CallGetIntrinsicValue
Value
92
DebugCheckSelfHosted ← CallGetIntrinsicValue#91
Value
94
Bail
95
Unreachable
Block 8
96
Constant 0x0
Int32
112
GuardShape ← Unbox#7
Object
385
Constant 2
Double
151
GuardShape ← NewArrayDynamicLength#89
Object
97
Goto → block 9
Block 9 (loop header)
98
Phi ← Constant#96, Add#159
Int32
99
Constant magic optimized-out
MagicOptimizedOut
100
InterruptCheck
105
Compare ← Phi#98, ArrayLength#30 Lt
Bool
106
Test ← Compare#105 → block 10, block 15
1
0
Block 10
113
Elements ← GuardShape#112
Elements
114
InitializedLength ← Elements#113
Int32
115
BoundsCheck ← Phi#98, InitializedLength#114
Int32
116
SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114
Int32
117
GuardElementNotHole ← Elements#113, SpectreMaskIndex#116
383
Goto → block 11
Block 11
132
GuardElementsArePacked ← Elements#113
133
LoadElement ← Elements#113, SpectreMaskIndex#116
Value
384
AssertClass ← Lambda#12
139
Goto → block 12
Block 12
142
Unbox LoadElement#133 to Double (fallible)
Double
144
Mul ← Unbox#142, Constant#385 [double]
Double
145
Goto → block 13
Block 13
152
Elements ← GuardShape#151
Elements
153
StoreElementHole ← GuardShape#151, Elements#152, Phi#98, Mul#144
154
Goto → block 14
Block 14 (backedge)
158
Constant 0x1
Int32
159
Add ← Phi#98, Constant#158 [int32]
Int32
160
Goto → block 9
Block 15
163
GuardShape ← NewArrayDynamicLength#89
Object
165
Constant function filter (self-hosted:183) at 104289c47970
Object
166
Constant function complex4/< (-e:18) at 104289c63d60
Object
167
Lambda ← FunctionEnvironment#6, Constant#166
Object
171
Goto → block 16
Block 16
175
DebugCheckSelfHosted ← Box#19
Value
182
DebugCheckSelfHosted ← Box#25
Value
184
GuardShape ← NewArrayDynamicLength#89
Object
185
Elements ← GuardShape#184
Elements
186
ArrayLength ← Elements#185
Int32
387
Goto → block 17
Block 17
204
DebugCheckSelfHosted ← Box#47
Value
388
AssertClass ← Lambda#167
390
Goto → block 18
Block 18
392
Goto → block 19
Block 19
228
Goto → block 20
Block 20
232
DebugCheckSelfHosted ← Box#75
Value
235
HasShape ← NewArrayDynamicLength#89
Bool
236
Test ← HasShape#235 → block 21, block 22
1
0
Block 21
237
Constant shape at 104289c64f00
Shape
238
NewArrayObject ← Constant#237
Object
239
Goto → block 23
Block 22
240
CallGetIntrinsicValue
Value
241
DebugCheckSelfHosted ← CallGetIntrinsicValue#240
Value
244
Bail
245
Unreachable
Block 23
264
GuardShape ← NewArrayDynamicLength#89
Object
395
Constant 50
Double
306
GuardShape ← NewArrayObject#238
Object
248
Goto → block 24
Block 24 (loop header)
249
Phi ← Constant#96, Add#315
Int32
250
Phi ← Constant#96, Phi#310
Int32
252
InterruptCheck
257
Compare ← Phi#249, ArrayLength#186 Lt
Bool
258
Test ← Compare#257 → block 25, block 32
1
0
Block 25
265
Elements ← GuardShape#264
Elements
266
InitializedLength ← Elements#265
Int32
267
BoundsCheck ← Phi#249, InitializedLength#266
Int32
268
SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266
Int32
269
GuardElementNotHole ← Elements#265, SpectreMaskIndex#268
393
Goto → block 26
Block 26
284
GuardElementsArePacked ← Elements#265
285
LoadElement ← Elements#265, SpectreMaskIndex#268
Value
394
AssertClass ← Lambda#167
291
Goto → block 27
Block 27
294
Unbox LoadElement#285 to Double (fallible)
Double
296
Compare ← Unbox#294, Constant#395 Gt
Bool
297
Goto → block 28
Block 28
298
Test ← Compare#296 → block 30, block 29
1
0
Block 29 (split edge)
299
Goto → block 31
Block 30
302
Constant 0x1
Int32
303
Add ← Phi#250, Constant#302 [int32]
Int32
307
Elements ← GuardShape#306
Elements
308
StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285
309
Goto → block 31
Block 31 (backedge)
310
Phi ← Add#303, Phi#250
Int32
314
Constant 0x1
Int32
315
Add ← Phi#249, Constant#314 [int32]
Int32
316
Goto → block 24
Block 32
319
GuardShape ← NewArrayObject#238
Object
321
Constant function reduce (self-hosted:205) at 104289c479c0
Object
322
Constant function complex4/< (-e:18) at 104289c63d98
Object
323
Lambda ← FunctionEnvironment#6, Constant#322
Object
328
Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96
Value
329
Return ← Call#328
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
16
Goto → block 1
Block 1
18
Constant function ToObject at 104289c6c740
Object
19
Box ← Constant#18
Value
20
DebugCheckSelfHosted ← Box#19
Value
24
Constant function ToLength at 104289c6c778
Object
25
Box ← Constant#24
Value
26
DebugCheckSelfHosted ← Box#25
Value
28
GuardShape ← Unbox#7
Object
29
Elements ← GuardShape#28
Elements
30
ArrayLength ← Elements#29
Int32
377
Goto → block 2
Block 2
46
Constant function IsCallable at 104289c6c7b0
Object
47
Box ← Constant#46
Value
48
DebugCheckSelfHosted ← Box#47
Value
378
AssertClass ← Lambda#12
380
Goto → block 3
Block 3
382
Goto → block 4
Block 4
71
Box ← Constant#2
Value
72
Goto → block 5
Block 5
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
Box ← Constant#74
Value
76
DebugCheckSelfHosted ← Box#75
Value
79
HasShape ← Unbox#7
Bool
80
Test ← HasShape#79 → block 6, block 7
1
0
Block 6
81
Constant function std_Array at 104289c6c820
Object
82
Box ← Constant#81
Value
83
DebugCheckSelfHosted ← Box#82
Value
86
Unbox DebugCheckSelfHosted#83 to Object (fallible)
Object
88
GuardSpecificFunction ← Unbox#86, Constant#81
Object
89
NewArrayDynamicLength ← ArrayLength#30
Object
90
Goto → block 8
Block 7
91
CallGetIntrinsicValue
Value
92
DebugCheckSelfHosted ← CallGetIntrinsicValue#91
Value
94
Bail
95
Unreachable
Block 8
96
Constant 0x0
Int32
112
GuardShape ← Unbox#7
Object
385
Constant 2
Double
151
GuardShape ← NewArrayDynamicLength#89
Object
97
Goto → block 9
Block 9 (loop header)
98
Phi ← Constant#96, Add#159
Int32
99
Constant magic optimized-out
MagicOptimizedOut
100
InterruptCheck
105
Compare ← Phi#98, ArrayLength#30 Lt
Bool
106
Test ← Compare#105 → block 10, block 15
1
0
Block 10
401
Beta ← ArrayLength#30 I[-2147483647, 2147483647]
Int32
400
Beta ← Phi#98 I[-2147483648, 2147483646]
Int32
113
Elements ← GuardShape#112
Elements
114
InitializedLength ← Elements#113
Int32
115
BoundsCheck ← Beta#400, InitializedLength#114
Int32
116
SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114
Int32
117
GuardElementNotHole ← Elements#113, SpectreMaskIndex#116
383
Goto → block 11
Block 11
132
GuardElementsArePacked ← Elements#113
133
LoadElement ← Elements#113, SpectreMaskIndex#116
Value
384
AssertClass ← Lambda#12
139
Goto → block 12
Block 12
142
Unbox LoadElement#133 to Double (fallible)
Double
144
Mul ← Unbox#142, Constant#385 [double]
Double
145
Goto → block 13
Block 13
152
Elements ← GuardShape#151
Elements
153
StoreElementHole ← GuardShape#151, Elements#152, Beta#400, Mul#144
154
Goto → block 14
Block 14 (backedge)
158
Constant 0x1
Int32
159
Add ← Beta#400, Constant#158 [int32]
Int32
160
Goto → block 9
Block 15
163
GuardShape ← NewArrayDynamicLength#89
Object
165
Constant function filter (self-hosted:183) at 104289c47970
Object
166
Constant function complex4/< (-e:18) at 104289c63d60
Object
167
Lambda ← FunctionEnvironment#6, Constant#166
Object
171
Goto → block 16
Block 16
175
DebugCheckSelfHosted ← Box#19
Value
182
DebugCheckSelfHosted ← Box#25
Value
184
GuardShape ← NewArrayDynamicLength#89
Object
185
Elements ← GuardShape#184
Elements
186
ArrayLength ← Elements#185
Int32
387
Goto → block 17
Block 17
204
DebugCheckSelfHosted ← Box#47
Value
388
AssertClass ← Lambda#167
390
Goto → block 18
Block 18
392
Goto → block 19
Block 19
228
Goto → block 20
Block 20
232
DebugCheckSelfHosted ← Box#75
Value
235
HasShape ← NewArrayDynamicLength#89
Bool
236
Test ← HasShape#235 → block 21, block 22
1
0
Block 21
237
Constant shape at 104289c64f00
Shape
238
NewArrayObject ← Constant#237
Object
239
Goto → block 23
Block 22
240
CallGetIntrinsicValue
Value
241
DebugCheckSelfHosted ← CallGetIntrinsicValue#240
Value
244
Bail
245
Unreachable
Block 23
264
GuardShape ← NewArrayDynamicLength#89
Object
395
Constant 50
Double
306
GuardShape ← NewArrayObject#238
Object
248
Goto → block 24
Block 24 (loop header)
249
Phi ← Constant#96, Add#315
Int32
250
Phi ← Constant#96, Phi#310
Int32
252
InterruptCheck
257
Compare ← Phi#249, ArrayLength#186 Lt
Bool
258
Test ← Compare#257 → block 25, block 32
1
0
Block 25
399
Beta ← ArrayLength#186 I[-2147483647, 2147483647]
Int32
398
Beta ← Phi#249 I[-2147483648, 2147483646]
Int32
265
Elements ← GuardShape#264
Elements
266
InitializedLength ← Elements#265
Int32
267
BoundsCheck ← Beta#398, InitializedLength#266
Int32
268
SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266
Int32
269
GuardElementNotHole ← Elements#265, SpectreMaskIndex#268
393
Goto → block 26
Block 26
284
GuardElementsArePacked ← Elements#265
285
LoadElement ← Elements#265, SpectreMaskIndex#268
Value
394
AssertClass ← Lambda#167
291
Goto → block 27
Block 27
294
Unbox LoadElement#285 to Double (fallible)
Double
296
Compare ← Unbox#294, Constant#395 Gt
Bool
297
Goto → block 28
Block 28
298
Test ← Compare#296 → block 30, block 29
1
0
Block 29 (split edge)
397
Beta ← Unbox#294 F[?, 50] (U NaN U -Infinity U -0)
Double
299
Goto → block 31
Block 30
396
Beta ← Unbox#294 F[50, ?] (U Infinity)
Double
302
Constant 0x1
Int32
303
Add ← Phi#250, Constant#302 [int32]
Int32
307
Elements ← GuardShape#306
Elements
308
StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285
309
Goto → block 31
Block 31 (backedge)
310
Phi ← Add#303, Phi#250
Int32
314
Constant 0x1
Int32
315
Add ← Beta#398, Constant#314 [int32]
Int32
316
Goto → block 24
Block 32
319
GuardShape ← NewArrayObject#238
Object
321
Constant function reduce (self-hosted:205) at 104289c479c0
Object
322
Constant function complex4/< (-e:18) at 104289c63d98
Object
323
Lambda ← FunctionEnvironment#6, Constant#322
Object
328
Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96
Value
329
Return ← Call#328
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
16
Goto → block 1
Block 1
18
Constant function ToObject at 104289c6c740
Object
19
Box ← Constant#18
Value
20
DebugCheckSelfHosted ← Box#19
Value
24
Constant function ToLength at 104289c6c778
Object
25
Box ← Constant#24
Value
26
DebugCheckSelfHosted ← Box#25
Value
28
GuardShape ← Unbox#7
Object
29
Elements ← GuardShape#28
Elements
30
ArrayLength ← Elements#29
I[0, 2147483647]: Int32
377
Goto → block 2
Block 2
46
Constant function IsCallable at 104289c6c7b0
Object
47
Box ← Constant#46
Value
48
DebugCheckSelfHosted ← Box#47
Value
378
AssertClass ← Lambda#12
380
Goto → block 3
Block 3
382
Goto → block 4
Block 4
71
Box ← Constant#2
Value
72
Goto → block 5
Block 5
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
Box ← Constant#74
Value
76
DebugCheckSelfHosted ← Box#75
Value
79
HasShape ← Unbox#7
Bool
80
Test ← HasShape#79 → block 6, block 7
1
0
Block 6
81
Constant function std_Array at 104289c6c820
Object
82
Box ← Constant#81
Value
83
DebugCheckSelfHosted ← Box#82
Value
86
Unbox DebugCheckSelfHosted#83 to Object (fallible)
Object
88
GuardSpecificFunction ← Unbox#86, Constant#81
Object
89
NewArrayDynamicLength ← ArrayLength#30
Object
90
Goto → block 8
Block 7
91
CallGetIntrinsicValue
Value
92
DebugCheckSelfHosted ← CallGetIntrinsicValue#91
Value
94
Bail
95
Unreachable
Block 8
96
Constant 0x0
I[0, 0]: Int32
112
GuardShape ← Unbox#7
Object
385
Constant 2
I[2, 2]: Double
151
GuardShape ← NewArrayDynamicLength#89
Object
97
Goto → block 9
Block 9 (loop header)
98
Phi ← Constant#96, Add#159
I[0 {}, 2147483647 {[loop] #30-1}]: Int32
99
Constant magic optimized-out
MagicOptimizedOut
100
InterruptCheck
105
Compare ← Phi#98, ArrayLength#30 Lt
Bool
106
Test ← Compare#105 → block 10, block 15
1
0
Block 10
401
Beta ← ArrayLength#30 I[-2147483647, 2147483647]
I[0, 2147483647]: Int32
400
Beta ← Phi#98 I[-2147483648, 2147483646]
I[0, 2147483646]: Int32
113
Elements ← GuardShape#112
Elements
114
InitializedLength ← Elements#113
I[0, 268435453]: Int32
115
BoundsCheck ← Beta#400, InitializedLength#114
I[0, 2147483646]: Int32
116
SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114
I[0, 2147483646]: Int32
117
GuardElementNotHole ← Elements#113, SpectreMaskIndex#116
383
Goto → block 11
Block 11
132
GuardElementsArePacked ← Elements#113
133
LoadElement ← Elements#113, SpectreMaskIndex#116
Value
384
AssertClass ← Lambda#12
139
Goto → block 12
Block 12
142
Unbox LoadElement#133 to Double (fallible)
Double
144
Mul ← Unbox#142, Constant#385 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
145
Goto → block 13
Block 13
152
Elements ← GuardShape#151
Elements
153
StoreElementHole ← GuardShape#151, Elements#152, Beta#400, Mul#144
154
Goto → block 14
Block 14 (backedge)
158
Constant 0x1
I[1, 1]: Int32
159
Add ← Beta#400, Constant#158 [int32]
I[1, 2147483647]: Int32
160
Goto → block 9
Block 15
163
GuardShape ← NewArrayDynamicLength#89
Object
165
Constant function filter (self-hosted:183) at 104289c47970
Object
166
Constant function complex4/< (-e:18) at 104289c63d60
Object
167
Lambda ← FunctionEnvironment#6, Constant#166
Object
171
Goto → block 16
Block 16
175
DebugCheckSelfHosted ← Box#19
Value
182
DebugCheckSelfHosted ← Box#25
Value
184
GuardShape ← NewArrayDynamicLength#89
Object
185
Elements ← GuardShape#184
Elements
186
ArrayLength ← Elements#185
I[0, 2147483647]: Int32
387
Goto → block 17
Block 17
204
DebugCheckSelfHosted ← Box#47
Value
388
AssertClass ← Lambda#167
390
Goto → block 18
Block 18
392
Goto → block 19
Block 19
228
Goto → block 20
Block 20
232
DebugCheckSelfHosted ← Box#75
Value
235
HasShape ← NewArrayDynamicLength#89
Bool
236
Test ← HasShape#235 → block 21, block 22
1
0
Block 21
237
Constant shape at 104289c64f00
Shape
238
NewArrayObject ← Constant#237
Object
239
Goto → block 23
Block 22
240
CallGetIntrinsicValue
Value
241
DebugCheckSelfHosted ← CallGetIntrinsicValue#240
Value
244
Bail
245
Unreachable
Block 23
264
GuardShape ← NewArrayDynamicLength#89
Object
395
Constant 50
I[50, 50]: Double
306
GuardShape ← NewArrayObject#238
Object
248
Goto → block 24
Block 24 (loop header)
249
Phi ← Constant#96, Add#315
I[0 {}, 2147483647 {[loop] #186-1}]: Int32
250
Phi ← Constant#96, Phi#310
Int32
252
InterruptCheck
257
Compare ← Phi#249, ArrayLength#186 Lt
Bool
258
Test ← Compare#257 → block 25, block 32
1
0
Block 25
399
Beta ← ArrayLength#186 I[-2147483647, 2147483647]
I[0, 2147483647]: Int32
398
Beta ← Phi#249 I[-2147483648, 2147483646]
I[0, 2147483646]: Int32
265
Elements ← GuardShape#264
Elements
266
InitializedLength ← Elements#265
I[0, 268435453]: Int32
267
BoundsCheck ← Beta#398, InitializedLength#266
I[0, 2147483646]: Int32
268
SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266
I[0, 2147483646]: Int32
269
GuardElementNotHole ← Elements#265, SpectreMaskIndex#268
393
Goto → block 26
Block 26
284
GuardElementsArePacked ← Elements#265
285
LoadElement ← Elements#265, SpectreMaskIndex#268
Value
394
AssertClass ← Lambda#167
291
Goto → block 27
Block 27
294
Unbox LoadElement#285 to Double (fallible)
Double
296
Compare ← Unbox#294, Constant#395 Gt
Bool
297
Goto → block 28
Block 28
298
Test ← Compare#296 → block 30, block 29
1
0
Block 29 (split edge)
397
Beta ← Unbox#294 F[?, 50] (U NaN U -Infinity U -0)
F[?, 50] (U NaN U -Infinity U -0): Double
299
Goto → block 31
Block 30
396
Beta ← Unbox#294 F[50, ?] (U Infinity)
F[50, ?] (U Infinity): Double
302
Constant 0x1
I[1, 1]: Int32
303
Add ← Phi#250, Constant#302 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
307
Elements ← GuardShape#306
Elements
308
StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285
309
Goto → block 31
Block 31 (backedge)
310
Phi ← Add#303, Phi#250
Int32
314
Constant 0x1
I[1, 1]: Int32
315
Add ← Beta#398, Constant#314 [int32]
I[1, 2147483647]: Int32
316
Goto → block 24
Block 32
319
GuardShape ← NewArrayObject#238
Object
321
Constant function reduce (self-hosted:205) at 104289c479c0
Object
322
Constant function complex4/< (-e:18) at 104289c63d98
Object
323
Lambda ← FunctionEnvironment#6, Constant#322
Object
328
Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96
Value
329
Return ← Call#328
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
16
Goto → block 1
Block 1
18
Constant function ToObject at 104289c6c740
Object
19
Box ← Constant#18
Value
20
DebugCheckSelfHosted ← Box#19
Value
24
Constant function ToLength at 104289c6c778
Object
25
Box ← Constant#24
Value
26
DebugCheckSelfHosted ← Box#25
Value
28
GuardShape ← Unbox#7
Object
29
Elements ← GuardShape#28
Elements
30
ArrayLength ← Elements#29
I[0, 2147483647]: Int32
377
Goto → block 2
Block 2
46
Constant function IsCallable at 104289c6c7b0
Object
47
Box ← Constant#46
Value
48
DebugCheckSelfHosted ← Box#47
Value
378
AssertClass ← Lambda#12
380
Goto → block 3
Block 3
382
Goto → block 4
Block 4
71
Box ← Constant#2
Value
72
Goto → block 5
Block 5
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
Box ← Constant#74
Value
76
DebugCheckSelfHosted ← Box#75
Value
79
HasShape ← Unbox#7
Bool
80
Test ← HasShape#79 → block 6, block 7
1
0
Block 6
81
Constant function std_Array at 104289c6c820
Object
82
Box ← Constant#81
Value
83
DebugCheckSelfHosted ← Box#82
Value
86
Unbox DebugCheckSelfHosted#83 to Object (fallible)
Object
88
GuardSpecificFunction ← Unbox#86, Constant#81
Object
89
NewArrayDynamicLength ← ArrayLength#30
Object
90
Goto → block 8
Block 7
91
CallGetIntrinsicValue
Value
92
DebugCheckSelfHosted ← CallGetIntrinsicValue#91
Value
94
Bail
95
Unreachable
Block 8
96
Constant 0x0
I[0, 0]: Int32
112
GuardShape ← Unbox#7
Object
385
Constant 2
I[2, 2]: Double
151
GuardShape ← NewArrayDynamicLength#89
Object
97
Goto → block 9
Block 9 (loop header)
98
Phi ← Constant#96, Add#159
I[0 {}, 2147483647 {[loop] #30-1}]: Int32
99
Constant magic optimized-out
MagicOptimizedOut
100
InterruptCheck
105
Compare ← Phi#98, ArrayLength#30 Lt
Bool
106
Test ← Compare#105 → block 10, block 15
1
0
Block 10
113
Elements ← GuardShape#112
Elements
114
InitializedLength ← Elements#113
I[0, 268435453]: Int32
115
BoundsCheck ← Phi#98, InitializedLength#114
I[0, 2147483646]: Int32
116
SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114
I[0, 2147483646]: Int32
117
GuardElementNotHole ← Elements#113, SpectreMaskIndex#116
383
Goto → block 11
Block 11
132
GuardElementsArePacked ← Elements#113
133
LoadElement ← Elements#113, SpectreMaskIndex#116
Value
384
AssertClass ← Lambda#12
139
Goto → block 12
Block 12
142
Unbox LoadElement#133 to Double (fallible)
Double
144
Mul ← Unbox#142, Constant#385 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
145
Goto → block 13
Block 13
152
Elements ← GuardShape#151
Elements
153
StoreElementHole ← GuardShape#151, Elements#152, Phi#98, Mul#144
154
Goto → block 14
Block 14 (backedge)
158
Constant 0x1
I[1, 1]: Int32
159
Add ← Phi#98, Constant#158 [int32]
I[1, 2147483647]: Int32
160
Goto → block 9
Block 15
163
GuardShape ← NewArrayDynamicLength#89
Object
165
Constant function filter (self-hosted:183) at 104289c47970
Object
166
Constant function complex4/< (-e:18) at 104289c63d60
Object
167
Lambda ← FunctionEnvironment#6, Constant#166
Object
171
Goto → block 16
Block 16
175
DebugCheckSelfHosted ← Box#19
Value
182
DebugCheckSelfHosted ← Box#25
Value
184
GuardShape ← NewArrayDynamicLength#89
Object
185
Elements ← GuardShape#184
Elements
186
ArrayLength ← Elements#185
I[0, 2147483647]: Int32
387
Goto → block 17
Block 17
204
DebugCheckSelfHosted ← Box#47
Value
388
AssertClass ← Lambda#167
390
Goto → block 18
Block 18
392
Goto → block 19
Block 19
228
Goto → block 20
Block 20
232
DebugCheckSelfHosted ← Box#75
Value
235
HasShape ← NewArrayDynamicLength#89
Bool
236
Test ← HasShape#235 → block 21, block 22
1
0
Block 21
237
Constant shape at 104289c64f00
Shape
238
NewArrayObject ← Constant#237
Object
239
Goto → block 23
Block 22
240
CallGetIntrinsicValue
Value
241
DebugCheckSelfHosted ← CallGetIntrinsicValue#240
Value
244
Bail
245
Unreachable
Block 23
264
GuardShape ← NewArrayDynamicLength#89
Object
395
Constant 50
I[50, 50]: Double
306
GuardShape ← NewArrayObject#238
Object
248
Goto → block 24
Block 24 (loop header)
249
Phi ← Constant#96, Add#315
I[0 {}, 2147483647 {[loop] #186-1}]: Int32
250
Phi ← Constant#96, Phi#310
Int32
252
InterruptCheck
257
Compare ← Phi#249, ArrayLength#186 Lt
Bool
258
Test ← Compare#257 → block 25, block 32
1
0
Block 25
265
Elements ← GuardShape#264
Elements
266
InitializedLength ← Elements#265
I[0, 268435453]: Int32
267
BoundsCheck ← Phi#249, InitializedLength#266
I[0, 2147483646]: Int32
268
SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266
I[0, 2147483646]: Int32
269
GuardElementNotHole ← Elements#265, SpectreMaskIndex#268
393
Goto → block 26
Block 26
284
GuardElementsArePacked ← Elements#265
285
LoadElement ← Elements#265, SpectreMaskIndex#268
Value
394
AssertClass ← Lambda#167
291
Goto → block 27
Block 27
294
Unbox LoadElement#285 to Double (fallible)
Double
296
Compare ← Unbox#294, Constant#395 Gt
Bool
297
Goto → block 28
Block 28
298
Test ← Compare#296 → block 30, block 29
1
0
Block 29 (split edge)
299
Goto → block 31
Block 30
302
Constant 0x1
I[1, 1]: Int32
303
Add ← Phi#250, Constant#302 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
307
Elements ← GuardShape#306
Elements
308
StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285
309
Goto → block 31
Block 31 (backedge)
310
Phi ← Add#303, Phi#250
Int32
314
Constant 0x1
I[1, 1]: Int32
315
Add ← Phi#249, Constant#314 [int32]
I[1, 2147483647]: Int32
316
Goto → block 24
Block 32
319
GuardShape ← NewArrayObject#238
Object
321
Constant function reduce (self-hosted:205) at 104289c479c0
Object
322
Constant function complex4/< (-e:18) at 104289c63d98
Object
323
Lambda ← FunctionEnvironment#6, Constant#322
Object
328
Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96
Value
329
Return ← Call#328
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
16
Goto → block 1
Block 1
18
Constant function ToObject at 104289c6c740
Object
19
Box ← Constant#18
Value
20
DebugCheckSelfHosted ← Box#19
Value
24
Constant function ToLength at 104289c6c778
Object
25
Box ← Constant#24
Value
26
DebugCheckSelfHosted ← Box#25
Value
28
GuardShape ← Unbox#7
Object
29
Elements ← GuardShape#28
Elements
30
ArrayLength ← Elements#29
I[0, 2147483647]: Int32
377
Goto → block 2
Block 2
46
Constant function IsCallable at 104289c6c7b0
Object
47
Box ← Constant#46
Value
48
DebugCheckSelfHosted ← Box#47
Value
378
AssertClass ← Lambda#12
380
Goto → block 3
Block 3
382
Goto → block 4
Block 4
71
Box ← Constant#2
Value
72
Goto → block 5
Block 5
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
Box ← Constant#74
Value
76
DebugCheckSelfHosted ← Box#75
Value
79
HasShape ← Unbox#7
Bool
80
Test ← HasShape#79 → block 6, block 7
1
0
Block 6
81
Constant function std_Array at 104289c6c820
Object
82
Box ← Constant#81
Value
83
DebugCheckSelfHosted ← Box#82
Value
86
Unbox DebugCheckSelfHosted#83 to Object (fallible)
Object
88
GuardSpecificFunction ← Unbox#86, Constant#81
Object
89
NewArrayDynamicLength ← ArrayLength#30
Object
90
Goto → block 8
Block 7
91
CallGetIntrinsicValue
Value
92
DebugCheckSelfHosted ← CallGetIntrinsicValue#91
Value
94
Bail
95
Unreachable
Block 8
96
Constant 0x0
I[0, 0]: Int32
112
GuardShape ← Unbox#7
Object
385
Constant 2
I[2, 2]: Double
151
GuardShape ← NewArrayDynamicLength#89
Object
97
Goto → block 9
Block 9 (loop header)
98
Phi ← Constant#96, Add#159
I[0 {}, 2147483647 {[loop] #30-1}]: Int32
99
Constant magic optimized-out
MagicOptimizedOut
100
InterruptCheck
105
Compare ← Phi#98, ArrayLength#30 Lt
Bool
106
Test ← Compare#105 → block 10, block 15
1
0
Block 10
113
Elements ← GuardShape#112
Elements
114
InitializedLength ← Elements#113
I[0, 268435453]: Int32
115
BoundsCheck ← Phi#98, InitializedLength#114
I[0, 2147483646]: Int32
116
SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114
I[0, 2147483646]: Int32
117
GuardElementNotHole ← Elements#113, SpectreMaskIndex#116
383
Goto → block 11
Block 11
132
GuardElementsArePacked ← Elements#113
133
LoadElement ← Elements#113, SpectreMaskIndex#116
Value
384
AssertClass ← Lambda#12
139
Goto → block 12
Block 12
142
Unbox LoadElement#133 to Double (fallible)
Double
144
Mul ← Unbox#142, Constant#385 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
145
Goto → block 13
Block 13
152
Elements ← GuardShape#151
Elements
153
StoreElementHole ← GuardShape#151, Elements#152, Phi#98, Mul#144
154
Goto → block 14
Block 14 (backedge)
158
Constant 0x1
I[1, 1]: Int32
159
Add ← Phi#98, Constant#158 [int32]
I[1, 2147483647]: Int32
160
Goto → block 9
Block 15
163
GuardShape ← NewArrayDynamicLength#89
Object
165
Constant function filter (self-hosted:183) at 104289c47970
Object
166
Constant function complex4/< (-e:18) at 104289c63d60
Object
167
Lambda ← FunctionEnvironment#6, Constant#166
Object
171
Goto → block 16
Block 16
175
DebugCheckSelfHosted ← Box#19
Value
182
DebugCheckSelfHosted ← Box#25
Value
184
GuardShape ← NewArrayDynamicLength#89
Object
185
Elements ← GuardShape#184
Elements
186
ArrayLength ← Elements#185
I[0, 2147483647]: Int32
387
Goto → block 17
Block 17
204
DebugCheckSelfHosted ← Box#47
Value
388
AssertClass ← Lambda#167
390
Goto → block 18
Block 18
392
Goto → block 19
Block 19
228
Goto → block 20
Block 20
232
DebugCheckSelfHosted ← Box#75
Value
235
HasShape ← NewArrayDynamicLength#89
Bool
236
Test ← HasShape#235 → block 21, block 22
1
0
Block 21
237
Constant shape at 104289c64f00
Shape
238
NewArrayObject ← Constant#237
Object
239
Goto → block 23
Block 22
240
CallGetIntrinsicValue
Value
241
DebugCheckSelfHosted ← CallGetIntrinsicValue#240
Value
244
Bail
245
Unreachable
Block 23
264
GuardShape ← NewArrayDynamicLength#89
Object
395
Constant 50
I[50, 50]: Double
306
GuardShape ← NewArrayObject#238
Object
248
Goto → block 24
Block 24 (loop header)
249
Phi ← Constant#96, Add#315
I[0 {}, 2147483647 {[loop] #186-1}]: Int32
250
Phi ← Constant#96, Phi#310
Int32
252
InterruptCheck
257
Compare ← Phi#249, ArrayLength#186 Lt
Bool
258
Test ← Compare#257 → block 25, block 32
1
0
Block 25
265
Elements ← GuardShape#264
Elements
266
InitializedLength ← Elements#265
I[0, 268435453]: Int32
267
BoundsCheck ← Phi#249, InitializedLength#266
I[0, 2147483646]: Int32
268
SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266
I[0, 2147483646]: Int32
269
GuardElementNotHole ← Elements#265, SpectreMaskIndex#268
393
Goto → block 26
Block 26
284
GuardElementsArePacked ← Elements#265
285
LoadElement ← Elements#265, SpectreMaskIndex#268
Value
394
AssertClass ← Lambda#167
291
Goto → block 27
Block 27
294
Unbox LoadElement#285 to Double (fallible)
Double
296
Compare ← Unbox#294, Constant#395 Gt
Bool
297
Goto → block 28
Block 28
298
Test ← Compare#296 → block 30, block 29
1
0
Block 29 (split edge)
299
Goto → block 31
Block 30
302
Constant 0x1
I[1, 1]: Int32
303
Add ← Phi#250, Constant#302 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
307
Elements ← GuardShape#306
Elements
308
StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285
309
Goto → block 31
Block 31 (backedge)
310
Phi ← Add#303, Phi#250
Int32
314
Constant 0x1
I[1, 1]: Int32
315
Add ← Phi#249, Constant#314 [int32]
I[1, 2147483647]: Int32
316
Goto → block 24
Block 32
319
GuardShape ← NewArrayObject#238
Object
321
Constant function reduce (self-hosted:205) at 104289c479c0
Object
322
Constant function complex4/< (-e:18) at 104289c63d98
Object
323
Lambda ← FunctionEnvironment#6, Constant#322
Object
328
Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96
Value
329
Return ← Call#328
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
16
Goto → block 1
Block 1
18
Constant function ToObject at 104289c6c740
Object
19
Box ← Constant#18
Value
20
DebugCheckSelfHosted ← Box#19
Value
24
Constant function ToLength at 104289c6c778
Object
25
Box ← Constant#24
Value
26
DebugCheckSelfHosted ← Box#25
Value
28
GuardShape ← Unbox#7
Object
29
Elements ← GuardShape#28
Elements
30
ArrayLength ← Elements#29
I[0, 2147483647]: Int32
377
Goto → block 2
Block 2
46
Constant function IsCallable at 104289c6c7b0
Object
47
Box ← Constant#46
Value
48
DebugCheckSelfHosted ← Box#47
Value
378
AssertClass ← Lambda#12
380
Goto → block 3
Block 3
382
Goto → block 4
Block 4
71
Box ← Constant#2
Value
72
Goto → block 5
Block 5
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
Box ← Constant#74
Value
76
DebugCheckSelfHosted ← Box#75
Value
79
HasShape ← Unbox#7
Bool
80
Test ← HasShape#79 → block 6, block 7
1
0
Block 6
81
Constant function std_Array at 104289c6c820
Object
82
Box ← Constant#81
Value
83
DebugCheckSelfHosted ← Box#82
Value
86
Unbox DebugCheckSelfHosted#83 to Object (fallible)
Object
88
GuardSpecificFunction ← Unbox#86, Constant#81
Object
89
NewArrayDynamicLength ← ArrayLength#30
Object
90
Goto → block 8
Block 7
91
CallGetIntrinsicValue
Value
92
DebugCheckSelfHosted ← CallGetIntrinsicValue#91
Value
94
Bail
95
Unreachable
Block 8
96
Constant 0x0
I[0, 0]: Int32
112
GuardShape ← Unbox#7
Object
385
Constant 2
I[2, 2]: Double
151
GuardShape ← NewArrayDynamicLength#89
Object
97
Goto → block 9
Block 9 (loop header)
98
Phi ← Constant#96, Add#159
I[0 {}, 2147483647 {[loop] #30-1}]: Int32
99
Constant magic optimized-out
MagicOptimizedOut
100
InterruptCheck
105
Compare ← Phi#98, ArrayLength#30 Lt
Bool
106
Test ← Compare#105 → block 10, block 15
1
0
Block 10
113
Elements ← GuardShape#112
Elements
114
InitializedLength ← Elements#113
I[0, 268435453]: Int32
115
BoundsCheck ← Phi#98, InitializedLength#114
I[0, 2147483646]: Int32
116
SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114
I[0, 2147483646]: Int32
117
GuardElementNotHole ← Elements#113, SpectreMaskIndex#116
383
Goto → block 11
Block 11
132
GuardElementsArePacked ← Elements#113
133
LoadElement ← Elements#113, SpectreMaskIndex#116
Value
384
AssertClass ← Lambda#12
139
Goto → block 12
Block 12
142
Unbox LoadElement#133 to Double (fallible)
Double
144
Mul ← Unbox#142, Constant#385 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
145
Goto → block 13
Block 13
152
Elements ← GuardShape#151
Elements
153
StoreElementHole ← GuardShape#151, Elements#152, Phi#98, Mul#144
154
Goto → block 14
Block 14 (backedge)
158
Constant 0x1
I[1, 1]: Int32
159
Add ← Phi#98, Constant#158 [int32]
I[1, 2147483647]: Int32
160
Goto → block 9
Block 15
163
GuardShape ← NewArrayDynamicLength#89
Object
165
Constant function filter (self-hosted:183) at 104289c47970
Object
166
Constant function complex4/< (-e:18) at 104289c63d60
Object
167
Lambda ← FunctionEnvironment#6, Constant#166
Object
171
Goto → block 16
Block 16
175
DebugCheckSelfHosted ← Box#19
Value
182
DebugCheckSelfHosted ← Box#25
Value
184
GuardShape ← NewArrayDynamicLength#89
Object
185
Elements ← GuardShape#184
Elements
186
ArrayLength ← Elements#185
I[0, 2147483647]: Int32
387
Goto → block 17
Block 17
204
DebugCheckSelfHosted ← Box#47
Value
388
AssertClass ← Lambda#167
390
Goto → block 18
Block 18
392
Goto → block 19
Block 19
228
Goto → block 20
Block 20
232
DebugCheckSelfHosted ← Box#75
Value
235
HasShape ← NewArrayDynamicLength#89
Bool
236
Test ← HasShape#235 → block 21, block 22
1
0
Block 21
237
Constant shape at 104289c64f00
Shape
238
NewArrayObject ← Constant#237
Object
239
Goto → block 23
Block 22
240
CallGetIntrinsicValue
Value
241
DebugCheckSelfHosted ← CallGetIntrinsicValue#240
Value
244
Bail
245
Unreachable
Block 23
264
GuardShape ← NewArrayDynamicLength#89
Object
395
Constant 50
I[50, 50]: Double
306
GuardShape ← NewArrayObject#238
Object
248
Goto → block 24
Block 24 (loop header)
249
Phi ← Constant#96, Add#315
I[0 {}, 2147483647 {[loop] #186-1}]: Int32
250
Phi ← Constant#96, Phi#310
Int32
252
InterruptCheck
257
Compare ← Phi#249, ArrayLength#186 Lt
Bool
258
Test ← Compare#257 → block 25, block 32
1
0
Block 25
265
Elements ← GuardShape#264
Elements
266
InitializedLength ← Elements#265
I[0, 268435453]: Int32
267
BoundsCheck ← Phi#249, InitializedLength#266
I[0, 2147483646]: Int32
268
SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266
I[0, 2147483646]: Int32
269
GuardElementNotHole ← Elements#265, SpectreMaskIndex#268
393
Goto → block 26
Block 26
284
GuardElementsArePacked ← Elements#265
285
LoadElement ← Elements#265, SpectreMaskIndex#268
Value
394
AssertClass ← Lambda#167
291
Goto → block 27
Block 27
294
Unbox LoadElement#285 to Double (fallible)
Double
296
Compare ← Unbox#294, Constant#395 Gt
Bool
297
Goto → block 28
Block 28
298
Test ← Compare#296 → block 30, block 29
1
0
Block 29 (split edge)
299
Goto → block 31
Block 30
302
Constant 0x1
I[1, 1]: Int32
303
Add ← Phi#250, Constant#302 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
307
Elements ← GuardShape#306
Elements
308
StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285
309
Goto → block 31
Block 31 (backedge)
310
Phi ← Add#303, Phi#250
Int32
314
Constant 0x1
I[1, 1]: Int32
315
Add ← Phi#249, Constant#314 [int32]
I[1, 2147483647]: Int32
316
Goto → block 24
Block 32
319
GuardShape ← NewArrayObject#238
Object
321
Constant function reduce (self-hosted:205) at 104289c479c0
Object
322
Constant function complex4/< (-e:18) at 104289c63d98
Object
323
Lambda ← FunctionEnvironment#6, Constant#322
Object
328
Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96
Value
329
Return ← Call#328
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
16
Goto → block 1
Block 1
18
Constant function ToObject at 104289c6c740
Object
19
Box ← Constant#18
Value
20
DebugCheckSelfHosted ← Box#19
Value
24
Constant function ToLength at 104289c6c778
Object
25
Box ← Constant#24
Value
26
DebugCheckSelfHosted ← Box#25
Value
28
GuardShape ← Unbox#7
Object
29
Elements ← GuardShape#28
Elements
30
ArrayLength ← Elements#29
I[0, 2147483647]: Int32
377
Goto → block 2
Block 2
46
Constant function IsCallable at 104289c6c7b0
Object
47
Box ← Constant#46
Value
48
DebugCheckSelfHosted ← Box#47
Value
378
AssertClass ← Lambda#12
380
Goto → block 3
Block 3
382
Goto → block 4
Block 4
71
Box ← Constant#2
Value
72
Goto → block 5
Block 5
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
Box ← Constant#74
Value
76
DebugCheckSelfHosted ← Box#75
Value
79
HasShape ← Unbox#7
Bool
80
Test ← HasShape#79 → block 6, block 7
1
0
Block 6
81
Constant function std_Array at 104289c6c820
Object
82
Box ← Constant#81
Value
83
DebugCheckSelfHosted ← Box#82
Value
86
Unbox DebugCheckSelfHosted#83 to Object (fallible)
Object
88
GuardSpecificFunction ← Unbox#86, Constant#81
Object
89
NewArrayDynamicLength ← ArrayLength#30
Object
90
Goto → block 8
Block 7
91
CallGetIntrinsicValue
Value
92
DebugCheckSelfHosted ← CallGetIntrinsicValue#91
Value
94
Bail
95
Unreachable
Block 8
96
Constant 0x0
I[0, 0]: Int32
112
GuardShape ← Unbox#7
Object
385
Constant 2
I[2, 2]: Double
151
GuardShape ← NewArrayDynamicLength#89
Object
97
Goto → block 9
Block 9 (loop header)
98
Phi ← Constant#96, Add#159
I[0 {}, 2147483647 {[loop] #30-1}]: Int32
99
Constant magic optimized-out
MagicOptimizedOut
100
InterruptCheck
105
Compare ← Phi#98, ArrayLength#30 Lt
Bool
106
Test ← Compare#105 → block 10, block 15
1
0
Block 10
113
Elements ← GuardShape#112
Elements
114
InitializedLength ← Elements#113
I[0, 268435453]: Int32
115
BoundsCheck ← Phi#98, InitializedLength#114
I[0, 2147483646]: Int32
116
SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114
I[0, 2147483646]: Int32
117
GuardElementNotHole ← Elements#113, SpectreMaskIndex#116
383
Goto → block 11
Block 11
132
GuardElementsArePacked ← Elements#113
133
LoadElement ← Elements#113, SpectreMaskIndex#116
Value
384
AssertClass ← Lambda#12
139
Goto → block 12
Block 12
142
Unbox LoadElement#133 to Double (fallible)
Double
144
Mul ← Unbox#142, Constant#385 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
145
Goto → block 13
Block 13
152
Elements ← GuardShape#151
Elements
153
StoreElementHole ← GuardShape#151, Elements#152, Phi#98, Mul#144
154
Goto → block 14
Block 14 (backedge)
158
Constant 0x1
I[1, 1]: Int32
159
Add ← Phi#98, Constant#158 [int32]
I[1, 2147483647]: Int32
160
Goto → block 9
Block 15
163
GuardShape ← NewArrayDynamicLength#89
Object
165
Constant function filter (self-hosted:183) at 104289c47970
Object
166
Constant function complex4/< (-e:18) at 104289c63d60
Object
167
Lambda ← FunctionEnvironment#6, Constant#166
Object
171
Goto → block 16
Block 16
175
DebugCheckSelfHosted ← Box#19
Value
182
DebugCheckSelfHosted ← Box#25
Value
184
GuardShape ← NewArrayDynamicLength#89
Object
185
Elements ← GuardShape#184
Elements
186
ArrayLength ← Elements#185
I[0, 2147483647]: Int32
387
Goto → block 17
Block 17
204
DebugCheckSelfHosted ← Box#47
Value
388
AssertClass ← Lambda#167
390
Goto → block 18
Block 18
392
Goto → block 19
Block 19
228
Goto → block 20
Block 20
232
DebugCheckSelfHosted ← Box#75
Value
235
HasShape ← NewArrayDynamicLength#89
Bool
236
Test ← HasShape#235 → block 21, block 22
1
0
Block 21
237
Constant shape at 104289c64f00
Shape
238
NewArrayObject ← Constant#237
Object
239
Goto → block 23
Block 22
240
CallGetIntrinsicValue
Value
241
DebugCheckSelfHosted ← CallGetIntrinsicValue#240
Value
244
Bail
245
Unreachable
Block 23
264
GuardShape ← NewArrayDynamicLength#89
Object
395
Constant 50
I[50, 50]: Double
306
GuardShape ← NewArrayObject#238
Object
248
Goto → block 24
Block 24 (loop header)
249
Phi ← Constant#96, Add#315
I[0 {}, 2147483647 {[loop] #186-1}]: Int32
250
Phi ← Constant#96, Phi#310
Int32
252
InterruptCheck
257
Compare ← Phi#249, ArrayLength#186 Lt
Bool
258
Test ← Compare#257 → block 25, block 32
1
0
Block 25
265
Elements ← GuardShape#264
Elements
266
InitializedLength ← Elements#265
I[0, 268435453]: Int32
267
BoundsCheck ← Phi#249, InitializedLength#266
I[0, 2147483646]: Int32
268
SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266
I[0, 2147483646]: Int32
269
GuardElementNotHole ← Elements#265, SpectreMaskIndex#268
393
Goto → block 26
Block 26
284
GuardElementsArePacked ← Elements#265
285
LoadElement ← Elements#265, SpectreMaskIndex#268
Value
394
AssertClass ← Lambda#167
291
Goto → block 27
Block 27
294
Unbox LoadElement#285 to Double (fallible)
Double
296
Compare ← Unbox#294, Constant#395 Gt
Bool
297
Goto → block 28
Block 28
298
Test ← Compare#296 → block 30, block 29
1
0
Block 29 (split edge)
299
Goto → block 31
Block 30
302
Constant 0x1
I[1, 1]: Int32
303
Add ← Phi#250, Constant#302 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
307
Elements ← GuardShape#306
Elements
308
StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285
309
Goto → block 31
Block 31 (backedge)
310
Phi ← Add#303, Phi#250
Int32
314
Constant 0x1
I[1, 1]: Int32
315
Add ← Phi#249, Constant#314 [int32]
I[1, 2147483647]: Int32
316
Goto → block 24
Block 32
319
GuardShape ← NewArrayObject#238
Object
321
Constant function reduce (self-hosted:205) at 104289c479c0
Object
322
Constant function complex4/< (-e:18) at 104289c63d98
Object
323
Lambda ← FunctionEnvironment#6, Constant#322
Object
328
Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96
Value
329
Return ← Call#328
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
16
Goto → block 1
Block 1
18
Constant function ToObject at 104289c6c740
Object
19
Box ← Constant#18
Value
20
DebugCheckSelfHosted ← Box#19
Value
24
Constant function ToLength at 104289c6c778
Object
25
Box ← Constant#24
Value
26
DebugCheckSelfHosted ← Box#25
Value
28
GuardShape ← Unbox#7
Object
29
Elements ← GuardShape#28
Elements
30
ArrayLength ← Elements#29
I[0, 2147483647]: Int32
377
Goto → block 2
Block 2
46
Constant function IsCallable at 104289c6c7b0
Object
47
Box ← Constant#46
Value
48
DebugCheckSelfHosted ← Box#47
Value
378
AssertClass ← Lambda#12
380
Goto → block 3
Block 3
382
Goto → block 4
Block 4
71
Box ← Constant#2
Value
72
Goto → block 5
Block 5
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
Box ← Constant#74
Value
76
DebugCheckSelfHosted ← Box#75
Value
79
HasShape ← Unbox#7
Bool
80
Test ← HasShape#79 → block 6, block 7
1
0
Block 6
81
Constant function std_Array at 104289c6c820
Object
82
Box ← Constant#81
Value
83
DebugCheckSelfHosted ← Box#82
Value
86
Unbox DebugCheckSelfHosted#83 to Object (fallible)
Object
88
GuardSpecificFunction ← Unbox#86, Constant#81
Object
89
NewArrayDynamicLength ← ArrayLength#30
Object
90
Goto → block 8
Block 7
91
CallGetIntrinsicValue
Value
92
DebugCheckSelfHosted ← CallGetIntrinsicValue#91
Value
94
Bail
95
Unreachable
Block 8
96
Constant 0x0
I[0, 0]: Int32
112
GuardShape ← Unbox#7
Object
385
Constant 2
I[2, 2]: Double
151
GuardShape ← NewArrayDynamicLength#89
Object
97
Goto → block 9
Block 9 (loop header)
98
Phi ← Constant#96, Add#159
I[0 {}, 2147483647 {[loop] #30-1}]: Int32
99
Constant magic optimized-out
MagicOptimizedOut
100
InterruptCheck
105
Compare ← Phi#98, ArrayLength#30 Lt
Bool
106
Test ← Compare#105 → block 10, block 15
1
0
Block 10
113
Elements ← GuardShape#112
Elements
114
InitializedLength ← Elements#113
I[0, 268435453]: Int32
115
BoundsCheck ← Phi#98, InitializedLength#114
I[0, 2147483646]: Int32
116
SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114
I[0, 2147483646]: Int32
117
GuardElementNotHole ← Elements#113, SpectreMaskIndex#116
383
Goto → block 11
Block 11
132
GuardElementsArePacked ← Elements#113
133
LoadElement ← Elements#113, SpectreMaskIndex#116
Value
384
AssertClass ← Lambda#12
139
Goto → block 12
Block 12
142
Unbox LoadElement#133 to Double (fallible)
Double
144
Mul ← Unbox#142, Constant#385 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
145
Goto → block 13
Block 13
152
Elements ← GuardShape#151
Elements
153
StoreElementHole ← GuardShape#151, Elements#152, Phi#98, Mul#144
154
Goto → block 14
Block 14 (backedge)
158
Constant 0x1
I[1, 1]: Int32
159
Add ← Phi#98, Constant#158 [int32]
I[1, 2147483647]: Int32
160
Goto → block 9
Block 15
163
GuardShape ← NewArrayDynamicLength#89
Object
165
Constant function filter (self-hosted:183) at 104289c47970
Object
166
Constant function complex4/< (-e:18) at 104289c63d60
Object
167
Lambda ← FunctionEnvironment#6, Constant#166
Object
171
Goto → block 16
Block 16
175
DebugCheckSelfHosted ← Box#19
Value
182
DebugCheckSelfHosted ← Box#25
Value
184
GuardShape ← NewArrayDynamicLength#89
Object
185
Elements ← GuardShape#184
Elements
186
ArrayLength ← Elements#185
I[0, 2147483647]: Int32
387
Goto → block 17
Block 17
204
DebugCheckSelfHosted ← Box#47
Value
388
AssertClass ← Lambda#167
390
Goto → block 18
Block 18
392
Goto → block 19
Block 19
228
Goto → block 20
Block 20
232
DebugCheckSelfHosted ← Box#75
Value
235
HasShape ← NewArrayDynamicLength#89
Bool
236
Test ← HasShape#235 → block 21, block 22
1
0
Block 21
237
Constant shape at 104289c64f00
Shape
238
NewArrayObject ← Constant#237
Object
239
Goto → block 23
Block 22
240
CallGetIntrinsicValue
Value
241
DebugCheckSelfHosted ← CallGetIntrinsicValue#240
Value
244
Bail
245
Unreachable
Block 23
264
GuardShape ← NewArrayDynamicLength#89
Object
395
Constant 50
I[50, 50]: Double
306
GuardShape ← NewArrayObject#238
Object
248
Goto → block 24
Block 24 (loop header)
249
Phi ← Constant#96, Add#315
I[0 {}, 2147483647 {[loop] #186-1}]: Int32
250
Phi ← Constant#96, Phi#310
Int32
252
InterruptCheck
257
Compare ← Phi#249, ArrayLength#186 Lt
Bool
258
Test ← Compare#257 → block 25, block 32
1
0
Block 25
265
Elements ← GuardShape#264
Elements
266
InitializedLength ← Elements#265
I[0, 268435453]: Int32
267
BoundsCheck ← Phi#249, InitializedLength#266
I[0, 2147483646]: Int32
268
SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266
I[0, 2147483646]: Int32
269
GuardElementNotHole ← Elements#265, SpectreMaskIndex#268
393
Goto → block 26
Block 26
284
GuardElementsArePacked ← Elements#265
285
LoadElement ← Elements#265, SpectreMaskIndex#268
Value
394
AssertClass ← Lambda#167
291
Goto → block 27
Block 27
294
Unbox LoadElement#285 to Double (fallible)
Double
296
Compare ← Unbox#294, Constant#395 Gt
Bool
297
Goto → block 28
Block 28
298
Test ← Compare#296 → block 30, block 29
1
0
Block 29 (split edge)
299
Goto → block 31
Block 30
302
Constant 0x1
I[1, 1]: Int32
303
Add ← Phi#250, Constant#302 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
307
Elements ← GuardShape#306
Elements
308
StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285
309
Goto → block 31
Block 31 (backedge)
310
Phi ← Add#303, Phi#250
Int32
314
Constant 0x1
I[1, 1]: Int32
315
Add ← Phi#249, Constant#314 [int32]
I[1, 2147483647]: Int32
316
Goto → block 24
Block 32
319
GuardShape ← NewArrayObject#238
Object
321
Constant function reduce (self-hosted:205) at 104289c479c0
Object
322
Constant function complex4/< (-e:18) at 104289c63d98
Object
323
Lambda ← FunctionEnvironment#6, Constant#322
Object
328
Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96
Value
329
Return ← Call#328
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
16
Goto → block 1
Block 1
18
Constant function ToObject at 104289c6c740
Object
19
Box ← Constant#18
Value
20
DebugCheckSelfHosted ← Box#19
Value
24
Constant function ToLength at 104289c6c778
Object
25
Box ← Constant#24
Value
26
DebugCheckSelfHosted ← Box#25
Value
28
GuardShape ← Unbox#7
Object
29
Elements ← GuardShape#28
Elements
30
ArrayLength ← Elements#29
I[0, 2147483647]: Int32
377
Goto → block 2
Block 2
46
Constant function IsCallable at 104289c6c7b0
Object
47
Box ← Constant#46
Value
48
DebugCheckSelfHosted ← Box#47
Value
378
AssertClass ← Lambda#12
380
Goto → block 3
Block 3
382
Goto → block 4
Block 4
71
Box ← Constant#2
Value
72
Goto → block 5
Block 5
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
Box ← Constant#74
Value
76
DebugCheckSelfHosted ← Box#75
Value
79
HasShape ← Unbox#7
Bool
80
Test ← HasShape#79 → block 6, block 7
1
0
Block 6
81
Constant function std_Array at 104289c6c820
Object
82
Box ← Constant#81
Value
83
DebugCheckSelfHosted ← Box#82
Value
86
Unbox DebugCheckSelfHosted#83 to Object (fallible)
Object
88
GuardSpecificFunction ← Unbox#86, Constant#81
Object
89
NewArrayDynamicLength ← ArrayLength#30
Object
90
Goto → block 8
Block 7
91
CallGetIntrinsicValue
Value
92
DebugCheckSelfHosted ← CallGetIntrinsicValue#91
Value
94
Bail
95
Unreachable
Block 8
96
Constant 0x0
I[0, 0]: Int32
112
GuardShape ← Unbox#7
Object
385
Constant 2
I[2, 2]: Double
151
GuardShape ← NewArrayDynamicLength#89
Object
97
Goto → block 9
Block 9 (loop header)
98
Phi ← Constant#96, Add#159
I[0 {}, 2147483647 {[loop] #30-1}]: Int32
99
Constant magic optimized-out
MagicOptimizedOut
100
InterruptCheck
105
Compare ← Phi#98, ArrayLength#30 Lt
Bool
106
Test ← Compare#105 → block 10, block 15
1
0
Block 10
113
Elements ← GuardShape#112
Elements
114
InitializedLength ← Elements#113
I[0, 268435453]: Int32
115
BoundsCheck ← Phi#98, InitializedLength#114
I[0, 2147483646]: Int32
116
SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114
I[0, 2147483646]: Int32
117
GuardElementNotHole ← Elements#113, SpectreMaskIndex#116
383
Goto → block 11
Block 11
132
GuardElementsArePacked ← Elements#113
133
LoadElement ← Elements#113, SpectreMaskIndex#116
Value
384
AssertClass ← Lambda#12
139
Goto → block 12
Block 12
142
Unbox LoadElement#133 to Double (fallible)
Double
144
Mul ← Unbox#142, Constant#385 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
145
Goto → block 13
Block 13
152
Elements ← GuardShape#151
Elements
153
StoreElementHole ← GuardShape#151, Elements#152, Phi#98, Mul#144
154
Goto → block 14
Block 14 (backedge)
158
Constant 0x1
I[1, 1]: Int32
159
Add ← Phi#98, Constant#158 [int32]
I[1, 2147483647]: Int32
160
Goto → block 9
Block 15
163
GuardShape ← NewArrayDynamicLength#89
Object
165
Constant function filter (self-hosted:183) at 104289c47970
Object
166
Constant function complex4/< (-e:18) at 104289c63d60
Object
167
Lambda ← FunctionEnvironment#6, Constant#166
Object
171
Goto → block 16
Block 16
175
DebugCheckSelfHosted ← Box#19
Value
182
DebugCheckSelfHosted ← Box#25
Value
184
GuardShape ← NewArrayDynamicLength#89
Object
185
Elements ← GuardShape#184
Elements
186
ArrayLength ← Elements#185
I[0, 2147483647]: Int32
387
Goto → block 17
Block 17
204
DebugCheckSelfHosted ← Box#47
Value
388
AssertClass ← Lambda#167
390
Goto → block 18
Block 18
392
Goto → block 19
Block 19
228
Goto → block 20
Block 20
232
DebugCheckSelfHosted ← Box#75
Value
235
HasShape ← NewArrayDynamicLength#89
Bool
236
Test ← HasShape#235 → block 21, block 22
1
0
Block 21
237
Constant shape at 104289c64f00
Shape
238
NewArrayObject ← Constant#237
Object
239
Goto → block 23
Block 22
240
CallGetIntrinsicValue
Value
241
DebugCheckSelfHosted ← CallGetIntrinsicValue#240
Value
244
Bail
245
Unreachable
Block 23
264
GuardShape ← NewArrayDynamicLength#89
Object
395
Constant 50
I[50, 50]: Double
306
GuardShape ← NewArrayObject#238
Object
248
Goto → block 24
Block 24 (loop header)
249
Phi ← Constant#96, Add#315
I[0 {}, 2147483647 {[loop] #186-1}]: Int32
250
Phi ← Constant#96, Phi#310
Int32
252
InterruptCheck
257
Compare ← Phi#249, ArrayLength#186 Lt
Bool
258
Test ← Compare#257 → block 25, block 32
1
0
Block 25
265
Elements ← GuardShape#264
Elements
266
InitializedLength ← Elements#265
I[0, 268435453]: Int32
267
BoundsCheck ← Phi#249, InitializedLength#266
I[0, 2147483646]: Int32
268
SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266
I[0, 2147483646]: Int32
269
GuardElementNotHole ← Elements#265, SpectreMaskIndex#268
393
Goto → block 26
Block 26
284
GuardElementsArePacked ← Elements#265
285
LoadElement ← Elements#265, SpectreMaskIndex#268
Value
394
AssertClass ← Lambda#167
291
Goto → block 27
Block 27
294
Unbox LoadElement#285 to Double (fallible)
Double
296
Compare ← Unbox#294, Constant#395 Gt
Bool
297
Goto → block 28
Block 28
298
Test ← Compare#296 → block 30, block 29
1
0
Block 29 (split edge)
299
Goto → block 31
Block 30
302
Constant 0x1
I[1, 1]: Int32
303
Add ← Phi#250, Constant#302 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
307
Elements ← GuardShape#306
Elements
308
StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285
309
Goto → block 31
Block 31 (backedge)
310
Phi ← Add#303, Phi#250
Int32
314
Constant 0x1
I[1, 1]: Int32
315
Add ← Phi#249, Constant#314 [int32]
I[1, 2147483647]: Int32
316
Goto → block 24
Block 32
319
GuardShape ← NewArrayObject#238
Object
321
Constant function reduce (self-hosted:205) at 104289c479c0
Object
322
Constant function complex4/< (-e:18) at 104289c63d98
Object
323
Lambda ← FunctionEnvironment#6, Constant#322
Object
328
Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96
Value
329
Return ← Call#328
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
10
Constant function map (self-hosted:163) at 104289c47920
Object
11
Constant function complex4/< (-e:18) at 104289c63d28
Object
12
Lambda ← FunctionEnvironment#6, Constant#11
Object
16
Goto → block 1
Block 1
18
Constant function ToObject at 104289c6c740
Object
19
Box ← Constant#18
Value
20
DebugCheckSelfHosted ← Box#19
Value
24
Constant function ToLength at 104289c6c778
Object
25
Box ← Constant#24
Value
26
DebugCheckSelfHosted ← Box#25
Value
28
GuardShape ← Unbox#7
Object
29
Elements ← GuardShape#28
Elements
30
ArrayLength ← Elements#29
I[0, 2147483647]: Int32
377
Goto → block 2
Block 2
46
Constant function IsCallable at 104289c6c7b0
Object
47
Box ← Constant#46
Value
48
DebugCheckSelfHosted ← Box#47
Value
378
AssertClass ← Lambda#12
380
Goto → block 3
Block 3
382
Goto → block 4
Block 4
71
Box ← Constant#2
Value
72
Goto → block 5
Block 5
74
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
75
Box ← Constant#74
Value
76
DebugCheckSelfHosted ← Box#75
Value
79
HasShape ← Unbox#7
Bool
80
Test ← HasShape#79 → block 6, block 7
1
0
Block 6
81
Constant function std_Array at 104289c6c820
Object
82
Box ← Constant#81
Value
83
DebugCheckSelfHosted ← Box#82
Value
86
Unbox DebugCheckSelfHosted#83 to Object (fallible)
Object
88
GuardSpecificFunction ← Unbox#86, Constant#81
Object
89
NewArrayDynamicLength ← ArrayLength#30
Object
90
Goto → block 8
Block 7
91
CallGetIntrinsicValue
Value
92
DebugCheckSelfHosted ← CallGetIntrinsicValue#91
Value
94
Bail
95
Unreachable
Block 8
96
Constant 0x0
I[0, 0]: Int32
112
GuardShape ← Unbox#7
Object
385
Constant 2
I[2, 2]: Double
151
GuardShape ← NewArrayDynamicLength#89
Object
97
Goto → block 9
Block 9 (loop header)
98
Phi ← Constant#96, Add#159
I[0 {}, 2147483647 {[loop] #30-1}]: Int32
99
Constant magic optimized-out
MagicOptimizedOut
100
InterruptCheck
105
Compare ← Phi#98, ArrayLength#30 Lt
Bool
106
Test ← Compare#105 → block 10, block 15
1
0
Block 10
113
Elements ← GuardShape#112
Elements
114
InitializedLength ← Elements#113
I[0, 268435453]: Int32
115
BoundsCheck ← Phi#98, InitializedLength#114
I[0, 2147483646]: Int32
116
SpectreMaskIndex ← BoundsCheck#115, InitializedLength#114
I[0, 2147483646]: Int32
117
GuardElementNotHole ← Elements#113, SpectreMaskIndex#116
383
Goto → block 11
Block 11
132
GuardElementsArePacked ← Elements#113
133
LoadElement ← Elements#113, SpectreMaskIndex#116
Value
384
AssertClass ← Lambda#12
139
Goto → block 12
Block 12
142
Unbox LoadElement#133 to Double (fallible)
Double
144
Mul ← Unbox#142, Constant#385 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
145
Goto → block 13
Block 13
152
Elements ← GuardShape#151
Elements
153
StoreElementHole ← GuardShape#151, Elements#152, Phi#98, Mul#144
154
Goto → block 14
Block 14 (backedge)
158
Constant 0x1
I[1, 1]: Int32
159
Add ← Phi#98, Constant#158 [int32]
I[1, 2147483647]: Int32
160
Goto → block 9
Block 15
163
GuardShape ← NewArrayDynamicLength#89
Object
165
Constant function filter (self-hosted:183) at 104289c47970
Object
166
Constant function complex4/< (-e:18) at 104289c63d60
Object
167
Lambda ← FunctionEnvironment#6, Constant#166
Object
171
Goto → block 16
Block 16
175
DebugCheckSelfHosted ← Box#19
Value
182
DebugCheckSelfHosted ← Box#25
Value
184
GuardShape ← NewArrayDynamicLength#89
Object
185
Elements ← GuardShape#184
Elements
186
ArrayLength ← Elements#185
I[0, 2147483647]: Int32
387
Goto → block 17
Block 17
204
DebugCheckSelfHosted ← Box#47
Value
388
AssertClass ← Lambda#167
390
Goto → block 18
Block 18
392
Goto → block 19
Block 19
228
Goto → block 20
Block 20
232
DebugCheckSelfHosted ← Box#75
Value
235
HasShape ← NewArrayDynamicLength#89
Bool
236
Test ← HasShape#235 → block 21, block 22
1
0
Block 21
237
Constant shape at 104289c64f00
Shape
238
NewArrayObject ← Constant#237
Object
239
Goto → block 23
Block 22
240
CallGetIntrinsicValue
Value
241
DebugCheckSelfHosted ← CallGetIntrinsicValue#240
Value
244
Bail
245
Unreachable
Block 23
264
GuardShape ← NewArrayDynamicLength#89
Object
395
Constant 50
I[50, 50]: Double
306
GuardShape ← NewArrayObject#238
Object
248
Goto → block 24
Block 24 (loop header)
249
Phi ← Constant#96, Add#315
I[0 {}, 2147483647 {[loop] #186-1}]: Int32
250
Phi ← Constant#96, Phi#310
Int32
252
InterruptCheck
257
Compare ← Phi#249, ArrayLength#186 Lt
Bool
258
Test ← Compare#257 → block 25, block 32
1
0
Block 25
265
Elements ← GuardShape#264
Elements
266
InitializedLength ← Elements#265
I[0, 268435453]: Int32
267
BoundsCheck ← Phi#249, InitializedLength#266
I[0, 2147483646]: Int32
268
SpectreMaskIndex ← BoundsCheck#267, InitializedLength#266
I[0, 2147483646]: Int32
269
GuardElementNotHole ← Elements#265, SpectreMaskIndex#268
393
Goto → block 26
Block 26
284
GuardElementsArePacked ← Elements#265
285
LoadElement ← Elements#265, SpectreMaskIndex#268
Value
394
AssertClass ← Lambda#167
291
Goto → block 27
Block 27
294
Unbox LoadElement#285 to Double (fallible)
Double
296
Compare ← Unbox#294, Constant#395 Gt
Bool
297
Goto → block 28
Block 28
298
Test ← Compare#296 → block 30, block 29
1
0
Block 29 (split edge)
299
Goto → block 31
Block 30
302
Constant 0x1
I[1, 1]: Int32
303
Add ← Phi#250, Constant#302 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
307
Elements ← GuardShape#306
Elements
308
StoreElementHole ← GuardShape#306, Elements#307, Phi#250, LoadElement#285
309
Goto → block 31
Block 31 (backedge)
310
Phi ← Add#303, Phi#250
Int32
314
Constant 0x1
I[1, 1]: Int32
315
Add ← Phi#249, Constant#314 [int32]
I[1, 2147483647]: Int32
316
Goto → block 24
Block 32
319
GuardShape ← NewArrayObject#238
Object
321
Constant function reduce (self-hosted:205) at 104289c479c0
Object
322
Constant function complex4/< (-e:18) at 104289c63d98
Object
323
Lambda ← FunctionEnvironment#6, Constant#322
Object
328
Call ← Constant#321, NewArrayObject#238, Lambda#323, Constant#96
Value
329
Return ← Call#328
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant function map (self-hosted:163) at 104289c47920
Object
10
Constant function complex4/< (-e:18) at 104289c63d28
Object
11
Lambda ← FunctionEnvironment#6, Constant#10
Object
12
Goto → block 1
Block 1
13
Constant function ToObject at 104289c6c740
Object
14
Constant function ToLength at 104289c6c778
Object
15
Box ← Constant#13
Value
16
DebugCheckSelfHosted ← Box#15
Value
17
Box ← Constant#14
Value
18
DebugCheckSelfHosted ← Box#17
Value
19
GuardShape ← Unbox#7
Object
20
Elements ← GuardShape#19
Elements
21
ArrayLength ← Elements#20
I[0, 2147483647]: Int32
22
Goto → block 2
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
AssertClass ← Lambda#11
27
Goto → block 3
Block 3
28
Goto → block 4
Block 4
29
Box ← Constant#2
Value
30
Goto → block 5
Block 5
31
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
32
Box ← Constant#31
Value
33
DebugCheckSelfHosted ← Box#32
Value
34
HasShape ← Unbox#7
Bool
35
Test ← HasShape#34 → block 6, block 7
1
0
Block 6
36
Constant function std_Array at 104289c6c820
Object
37
Box ← Constant#36
Value
38
DebugCheckSelfHosted ← Box#37
Value
39
Unbox DebugCheckSelfHosted#38 to Object (fallible)
Object
40
GuardSpecificFunction ← Unbox#39, Constant#36
Object
41
NewArrayDynamicLength ← ArrayLength#21
Object
42
Goto → block 8
Block 7
43
CallGetIntrinsicValue
Value
44
DebugCheckSelfHosted ← CallGetIntrinsicValue#43
Value
45
Bail
46
Unreachable
Block 8
47
Constant 0x0
I[0, 0]: Int32
48
GuardShape ← Unbox#7
Object
49
Constant 2
I[2, 2]: Double
50
GuardShape ← NewArrayDynamicLength#41
Object
51
Goto → block 9
Block 9 (loop header)
52
Phi ← Constant#47, Add#74
I[0 {}, 2147483647 {[loop] #21-1}]: Int32
53
Constant magic optimized-out
MagicOptimizedOut
54
InterruptCheck
55
Compare ← Phi#52, ArrayLength#21 Lt
Bool
56
Test ← Compare#55 → block 10, block 15
1
0
Block 10
57
Elements ← GuardShape#48
Elements
58
InitializedLength ← Elements#57
I[0, 268435453]: Int32
59
BoundsCheck ← Phi#52, InitializedLength#58
I[0, 2147483646]: Int32
60
SpectreMaskIndex ← BoundsCheck#59, InitializedLength#58
I[0, 2147483646]: Int32
61
GuardElementNotHole ← Elements#57, SpectreMaskIndex#60
62
Goto → block 11
Block 11
63
GuardElementsArePacked ← Elements#57
64
LoadElement ← Elements#57, SpectreMaskIndex#60
Value
65
AssertClass ← Lambda#11
66
Goto → block 12
Block 12
67
Unbox LoadElement#64 to Double (fallible)
Double
68
Mul ← Unbox#67, Constant#49 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
69
Goto → block 13
Block 13
70
Elements ← GuardShape#50
Elements
71
StoreElementHole ← GuardShape#50, Elements#70, Phi#52, Mul#68
72
Goto → block 14
Block 14 (backedge)
73
Constant 0x1
I[1, 1]: Int32
74
Add ← Phi#52, Constant#73 [int32]
I[1, 2147483647]: Int32
75
Goto → block 9
Block 15
76
Constant function complex4/< (-e:18) at 104289c63d60
Object
77
GuardShape ← NewArrayDynamicLength#41
Object
78
Constant function filter (self-hosted:183) at 104289c47970
Object
79
Lambda ← FunctionEnvironment#6, Constant#76
Object
80
Goto → block 16
Block 16
81
DebugCheckSelfHosted ← Box#15
Value
82
DebugCheckSelfHosted ← Box#17
Value
83
GuardShape ← NewArrayDynamicLength#41
Object
84
Elements ← GuardShape#83
Elements
85
ArrayLength ← Elements#84
I[0, 2147483647]: Int32
86
Goto → block 17
Block 17
87
DebugCheckSelfHosted ← Box#24
Value
88
AssertClass ← Lambda#79
89
Goto → block 18
Block 18
90
Goto → block 19
Block 19
91
Goto → block 20
Block 20
92
DebugCheckSelfHosted ← Box#32
Value
93
HasShape ← NewArrayDynamicLength#41
Bool
94
Test ← HasShape#93 → block 21, block 22
1
0
Block 21
95
Constant shape at 104289c64f00
Shape
96
NewArrayObject ← Constant#95
Object
97
Goto → block 23
Block 22
98
CallGetIntrinsicValue
Value
99
DebugCheckSelfHosted ← CallGetIntrinsicValue#98
Value
100
Bail
101
Unreachable
Block 23
102
GuardShape ← NewArrayDynamicLength#41
Object
103
Constant 50
I[50, 50]: Double
104
GuardShape ← NewArrayObject#96
Object
105
Goto → block 24
Block 24 (loop header)
106
Phi ← Constant#47, Add#133
I[0 {}, 2147483647 {[loop] #85-1}]: Int32
107
Phi ← Constant#47, Phi#131
Int32
108
InterruptCheck
109
Compare ← Phi#106, ArrayLength#85 Lt
Bool
110
Test ← Compare#109 → block 25, block 32
1
0
Block 25
111
Elements ← GuardShape#102
Elements
112
InitializedLength ← Elements#111
I[0, 268435453]: Int32
113
BoundsCheck ← Phi#106, InitializedLength#112
I[0, 2147483646]: Int32
114
SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112
I[0, 2147483646]: Int32
115
GuardElementNotHole ← Elements#111, SpectreMaskIndex#114
116
Goto → block 26
Block 26
117
GuardElementsArePacked ← Elements#111
118
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
119
AssertClass ← Lambda#79
120
Goto → block 27
Block 27
121
Unbox LoadElement#118 to Double (fallible)
Double
122
Compare ← Unbox#121, Constant#103 Gt
Bool
123
Goto → block 28
Block 28
124
Test ← Compare#122 → block 30, block 29
1
0
Block 29 (split edge)
125
Goto → block 31
Block 30
126
Constant 0x1
I[1, 1]: Int32
127
Add ← Phi#107, Constant#126 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
128
Elements ← GuardShape#104
Elements
129
StoreElementHole ← GuardShape#104, Elements#128, Phi#107, LoadElement#118
130
Goto → block 31
Block 31 (backedge)
131
Phi ← Add#127, Phi#107
Int32
132
Constant 0x1
I[1, 1]: Int32
133
Add ← Phi#106, Constant#132 [int32]
I[1, 2147483647]: Int32
134
Goto → block 24
Block 32
135
Constant function complex4/< (-e:18) at 104289c63d98
Object
136
GuardShape ← NewArrayObject#96
Object
137
Constant function reduce (self-hosted:205) at 104289c479c0
Object
138
Lambda ← FunctionEnvironment#6, Constant#135
Object
139
Call ← Constant#137, NewArrayObject#96, Lambda#138, Constant#47
Value
140
Return ← Call#139
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant function map (self-hosted:163) at 104289c47920
Object
10
Constant function complex4/< (-e:18) at 104289c63d28
Object
11
Lambda ← FunctionEnvironment#6, Constant#10
Object
12
Goto → block 1
Block 1
13
Constant function ToObject at 104289c6c740
Object
14
Constant function ToLength at 104289c6c778
Object
15
Box ← Constant#13
Value
16
DebugCheckSelfHosted ← Box#15
Value
17
Box ← Constant#14
Value
18
DebugCheckSelfHosted ← Box#17
Value
19
GuardShape ← Unbox#7
Object
20
Elements ← GuardShape#19
Elements
21
ArrayLength ← Elements#20
I[0, 2147483647]: Int32
22
Goto → block 2
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
AssertClass ← Lambda#11
27
Goto → block 3
Block 3
28
Goto → block 4
Block 4
29
Box ← Constant#2
Value
30
Goto → block 5
Block 5
31
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
32
Box ← Constant#31
Value
33
DebugCheckSelfHosted ← Box#32
Value
34
HasShape ← Unbox#7
Bool
35
Test ← HasShape#34 → block 6, block 7
1
0
Block 6
36
Constant function std_Array at 104289c6c820
Object
37
Box ← Constant#36
Value
38
DebugCheckSelfHosted ← Box#37
Value
39
Unbox DebugCheckSelfHosted#38 to Object (fallible)
Object
40
GuardSpecificFunction ← Unbox#39, Constant#36
Object
41
NewArrayDynamicLength ← ArrayLength#21
Object
42
Goto → block 8
Block 7
43
CallGetIntrinsicValue
Value
44
DebugCheckSelfHosted ← CallGetIntrinsicValue#43
Value
45
Bail
46
Unreachable
Block 8
47
Constant 0x0
I[0, 0]: Int32
48
GuardShape ← Unbox#7
Object
49
Constant 2
I[2, 2]: Double
50
GuardShape ← NewArrayDynamicLength#41
Object
51
Goto → block 9
Block 9 (loop header)
52
Phi ← Constant#47, Add#74
I[0 {}, 2147483647 {[loop] #21-1}]: Int32
53
Constant magic optimized-out
MagicOptimizedOut
54
InterruptCheck
55
Compare ← Phi#52, ArrayLength#21 Lt
Bool
56
Test ← Compare#55 → block 10, block 15
1
0
Block 10
57
Elements ← GuardShape#48
Elements
58
InitializedLength ← Elements#57
I[0, 268435453]: Int32
59
BoundsCheck ← Phi#52, InitializedLength#58
I[0, 2147483646]: Int32
60
SpectreMaskIndex ← BoundsCheck#59, InitializedLength#58
I[0, 2147483646]: Int32
61
GuardElementNotHole ← Elements#57, SpectreMaskIndex#60
62
Goto → block 11
Block 11
63
GuardElementsArePacked ← Elements#57
64
LoadElement ← Elements#57, SpectreMaskIndex#60
Value
65
AssertClass ← Lambda#11
66
Goto → block 12
Block 12
67
Unbox LoadElement#64 to Double (fallible)
Double
68
Mul ← Unbox#67, Constant#49 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
69
Goto → block 13
Block 13
70
Elements ← GuardShape#50
Elements
71
StoreElementHole ← GuardShape#50, Elements#70, Phi#52, Mul#68
72
Goto → block 14
Block 14 (backedge)
73
Constant 0x1
I[1, 1]: Int32
74
Add ← Phi#52, Constant#73 [int32]
I[1, 2147483647]: Int32
75
Goto → block 9
Block 15
76
Constant function complex4/< (-e:18) at 104289c63d60
Object
77
GuardShape ← NewArrayDynamicLength#41
Object
78
Constant function filter (self-hosted:183) at 104289c47970
Object
79
Lambda ← FunctionEnvironment#6, Constant#76
Object
80
Goto → block 16
Block 16
81
DebugCheckSelfHosted ← Box#15
Value
82
DebugCheckSelfHosted ← Box#17
Value
83
GuardShape ← NewArrayDynamicLength#41
Object
84
Elements ← GuardShape#83
Elements
85
ArrayLength ← Elements#84
I[0, 2147483647]: Int32
86
Goto → block 17
Block 17
87
DebugCheckSelfHosted ← Box#24
Value
88
AssertClass ← Lambda#79
89
Goto → block 18
Block 18
90
Goto → block 19
Block 19
91
Goto → block 20
Block 20
92
DebugCheckSelfHosted ← Box#32
Value
93
HasShape ← NewArrayDynamicLength#41
Bool
94
Test ← HasShape#93 → block 21, block 22
1
0
Block 21
95
Constant shape at 104289c64f00
Shape
96
NewArrayObject ← Constant#95
Object
97
Goto → block 23
Block 22
98
CallGetIntrinsicValue
Value
99
DebugCheckSelfHosted ← CallGetIntrinsicValue#98
Value
100
Bail
101
Unreachable
Block 23
102
GuardShape ← NewArrayDynamicLength#41
Object
103
Constant 50
I[50, 50]: Double
104
GuardShape ← NewArrayObject#96
Object
105
Goto → block 24
Block 24 (loop header)
106
Phi ← Constant#47, Add#133
I[0 {}, 2147483647 {[loop] #85-1}]: Int32
107
Phi ← Constant#47, Phi#131
Int32
108
InterruptCheck
109
Compare ← Phi#106, ArrayLength#85 Lt
Bool
110
Test ← Compare#109 → block 25, block 32
1
0
Block 25
111
Elements ← GuardShape#102
Elements
112
InitializedLength ← Elements#111
I[0, 268435453]: Int32
113
BoundsCheck ← Phi#106, InitializedLength#112
I[0, 2147483646]: Int32
114
SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112
I[0, 2147483646]: Int32
115
GuardElementNotHole ← Elements#111, SpectreMaskIndex#114
116
Goto → block 26
Block 26
117
GuardElementsArePacked ← Elements#111
118
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
119
AssertClass ← Lambda#79
120
Goto → block 27
Block 27
121
Unbox LoadElement#118 to Double (fallible)
Double
122
Compare ← Unbox#121, Constant#103 Gt
Bool
123
Goto → block 28
Block 28
124
Test ← Compare#122 → block 30, block 29
1
0
Block 29 (split edge)
125
Goto → block 31
Block 30
126
Constant 0x1
I[1, 1]: Int32
127
Add ← Phi#107, Constant#126 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
128
Elements ← GuardShape#104
Elements
129
StoreElementHole ← GuardShape#104, Elements#128, Phi#107, LoadElement#118
130
Goto → block 31
Block 31 (backedge)
131
Phi ← Add#127, Phi#107
Int32
132
Constant 0x1
I[1, 1]: Int32
133
Add ← Phi#106, Constant#132 [int32]
I[1, 2147483647]: Int32
134
Goto → block 24
Block 32
135
Constant function complex4/< (-e:18) at 104289c63d98
Object
136
GuardShape ← NewArrayObject#96
Object
137
Constant function reduce (self-hosted:205) at 104289c479c0
Object
138
Lambda ← FunctionEnvironment#6, Constant#135
Object
139
Call ← Constant#137, NewArrayObject#96, Lambda#138, Constant#47
Value
140
Return ← Call#139
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant function map (self-hosted:163) at 104289c47920
Object
10
Constant function complex4/< (-e:18) at 104289c63d28
Object
11
Lambda ← FunctionEnvironment#6, Constant#10
Object
12
Goto → block 1
Block 1
13
Constant function ToObject at 104289c6c740
Object
14
Constant function ToLength at 104289c6c778
Object
15
Box ← Constant#13
Value
16
DebugCheckSelfHosted ← Box#15
Value
17
Box ← Constant#14
Value
18
DebugCheckSelfHosted ← Box#17
Value
19
GuardShape ← Unbox#7
Object
20
Elements ← GuardShape#19
Elements
21
ArrayLength ← Elements#20
I[0, 2147483647]: Int32
22
Goto → block 2
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
AssertClass ← Lambda#11
27
Goto → block 3
Block 3
28
Goto → block 4
Block 4
29
Box ← Constant#2
Value
30
Goto → block 5
Block 5
31
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
32
Box ← Constant#31
Value
33
DebugCheckSelfHosted ← Box#32
Value
34
HasShape ← Unbox#7
Bool
35
Test ← HasShape#34 → block 6, block 7
1
0
Block 6
36
Constant function std_Array at 104289c6c820
Object
37
Box ← Constant#36
Value
38
DebugCheckSelfHosted ← Box#37
Value
39
Unbox DebugCheckSelfHosted#38 to Object (fallible)
Object
40
GuardSpecificFunction ← Unbox#39, Constant#36
Object
41
NewArrayDynamicLength ← ArrayLength#21
Object
42
Goto → block 8
Block 7
43
CallGetIntrinsicValue
Value
44
DebugCheckSelfHosted ← CallGetIntrinsicValue#43
Value
45
Bail
46
Unreachable
Block 8
47
Constant 0x0
I[0, 0]: Int32
48
GuardShape ← Unbox#7
Object
49
Constant 2
I[2, 2]: Double
50
GuardShape ← NewArrayDynamicLength#41
Object
51
Goto → block 9
Block 9 (loop header)
52
Phi ← Constant#47, Add#74
I[0 {}, 2147483647 {[loop] #21-1}]: Int32
53
Constant magic optimized-out
MagicOptimizedOut
54
InterruptCheck
55
Compare ← Phi#52, ArrayLength#21 Lt
Bool
56
Test ← Compare#55 → block 10, block 15
1
0
Block 10
57
Elements ← GuardShape#48
Elements
58
InitializedLength ← Elements#57
I[0, 268435453]: Int32
59
BoundsCheck ← Phi#52, InitializedLength#58
I[0, 2147483646]: Int32
60
SpectreMaskIndex ← BoundsCheck#59, InitializedLength#58
I[0, 2147483646]: Int32
61
GuardElementNotHole ← Elements#57, SpectreMaskIndex#60
62
Goto → block 11
Block 11
63
GuardElementsArePacked ← Elements#57
64
LoadElement ← Elements#57, SpectreMaskIndex#60
Value
65
AssertClass ← Lambda#11
66
Goto → block 12
Block 12
67
Unbox LoadElement#64 to Double (fallible)
Double
68
Mul ← Unbox#67, Constant#49 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
69
Goto → block 13
Block 13
70
Elements ← GuardShape#50
Elements
71
StoreElementHole ← GuardShape#50, Elements#70, Phi#52, Mul#68
72
Goto → block 14
Block 14 (backedge)
73
Constant 0x1
I[1, 1]: Int32
74
Add ← Phi#52, Constant#73 [int32]
I[1, 2147483647]: Int32
75
Goto → block 9
Block 15
76
Constant function complex4/< (-e:18) at 104289c63d60
Object
77
GuardShape ← NewArrayDynamicLength#41
Object
78
Constant function filter (self-hosted:183) at 104289c47970
Object
79
Lambda ← FunctionEnvironment#6, Constant#76
Object
80
Goto → block 16
Block 16
81
DebugCheckSelfHosted ← Box#15
Value
82
DebugCheckSelfHosted ← Box#17
Value
83
GuardShape ← NewArrayDynamicLength#41
Object
84
Elements ← GuardShape#83
Elements
85
ArrayLength ← Elements#84
I[0, 2147483647]: Int32
86
Goto → block 17
Block 17
87
DebugCheckSelfHosted ← Box#24
Value
88
AssertClass ← Lambda#79
89
Goto → block 18
Block 18
90
Goto → block 19
Block 19
91
Goto → block 20
Block 20
92
DebugCheckSelfHosted ← Box#32
Value
93
HasShape ← NewArrayDynamicLength#41
Bool
94
Test ← HasShape#93 → block 21, block 22
1
0
Block 21
95
Constant shape at 104289c64f00
Shape
96
NewArrayObject ← Constant#95
Object
97
Goto → block 23
Block 22
98
CallGetIntrinsicValue
Value
99
DebugCheckSelfHosted ← CallGetIntrinsicValue#98
Value
100
Bail
101
Unreachable
Block 23
102
GuardShape ← NewArrayDynamicLength#41
Object
103
Constant 50
I[50, 50]: Double
104
GuardShape ← NewArrayObject#96
Object
105
Goto → block 24
Block 24 (loop header)
106
Phi ← Constant#47, Add#133
I[0 {}, 2147483647 {[loop] #85-1}]: Int32
107
Phi ← Constant#47, Phi#131
Int32
108
InterruptCheck
109
Compare ← Phi#106, ArrayLength#85 Lt
Bool
110
Test ← Compare#109 → block 25, block 32
1
0
Block 25
111
Elements ← GuardShape#102
Elements
112
InitializedLength ← Elements#111
I[0, 268435453]: Int32
113
BoundsCheck ← Phi#106, InitializedLength#112
I[0, 2147483646]: Int32
114
SpectreMaskIndex ← BoundsCheck#113, InitializedLength#112
I[0, 2147483646]: Int32
115
GuardElementNotHole ← Elements#111, SpectreMaskIndex#114
116
Goto → block 26
Block 26
117
GuardElementsArePacked ← Elements#111
118
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
119
AssertClass ← Lambda#79
120
Goto → block 27
Block 27
121
Unbox LoadElement#118 to Double (fallible)
Double
122
Compare ← Unbox#121, Constant#103 Gt
Bool
123
Goto → block 28
Block 28
124
Test ← Compare#122 → block 30, block 29
1
0
Block 29 (split edge)
125
Goto → block 31
Block 30
126
Constant 0x1
I[1, 1]: Int32
127
Add ← Phi#107, Constant#126 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
128
Elements ← GuardShape#104
Elements
129
StoreElementHole ← GuardShape#104, Elements#128, Phi#107, LoadElement#118
130
Goto → block 31
Block 31 (backedge)
131
Phi ← Add#127, Phi#107
Int32
132
Constant 0x1
I[1, 1]: Int32
133
Add ← Phi#106, Constant#132 [int32]
I[1, 2147483647]: Int32
134
Goto → block 24
Block 32
135
Constant function complex4/< (-e:18) at 104289c63d98
Object
136
GuardShape ← NewArrayObject#96
Object
137
Constant function reduce (self-hosted:205) at 104289c479c0
Object
138
Lambda ← FunctionEnvironment#6, Constant#135
Object
139
Call ← Constant#137, NewArrayObject#96, Lambda#138, Constant#47
Value
140
Return ← Call#139
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant function map (self-hosted:163) at 104289c47920
Object
10
Constant function complex4/< (-e:18) at 104289c63d28
Object
11
Lambda ← FunctionEnvironment#6, Constant#10
Object
12
Goto → block 1
Block 1
13
Constant function ToObject at 104289c6c740
Object
14
Constant function ToLength at 104289c6c778
Object
15
Box ← Constant#13
Value
16
DebugCheckSelfHosted ← Box#15
Value
17
Box ← Constant#14
Value
18
DebugCheckSelfHosted ← Box#17
Value
19
GuardShape ← Unbox#7
Object
20
Elements ← GuardShape#19
Elements
21
ArrayLength ← Elements#20
I[0, 2147483647]: Int32
22
Goto → block 2
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
AssertClass ← Lambda#11
27
Goto → block 3
Block 3
28
Goto → block 4
Block 4
29
Box ← Constant#2
Value
30
Goto → block 5
Block 5
31
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
32
Box ← Constant#31
Value
33
DebugCheckSelfHosted ← Box#32
Value
34
HasShape ← Unbox#7
Bool
35
Test ← HasShape#34 → block 6, block 7
1
0
Block 6
36
Constant function std_Array at 104289c6c820
Object
37
Box ← Constant#36
Value
38
DebugCheckSelfHosted ← Box#37
Value
39
Unbox DebugCheckSelfHosted#38 to Object (fallible)
Object
40
GuardSpecificFunction ← Unbox#39, Constant#36
Object
41
NewArrayDynamicLength ← ArrayLength#21
Object
42
Goto → block 8
Block 7
43
CallGetIntrinsicValue
Value
44
DebugCheckSelfHosted ← CallGetIntrinsicValue#43
Value
45
Bail
46
Unreachable
Block 8
47
Constant 0x0
I[0, 0]: Int32
48
GuardShape ← Unbox#7
Object
49
Constant 2
I[2, 2]: Double
50
GuardShape ← NewArrayDynamicLength#41
Object
51
Goto → block 9
Block 9 (loop header)
52
Phi ← Constant#47, Add#74
I[0 {}, 2147483647 {[loop] #21-1}]: Int32
53
Constant magic optimized-out
MagicOptimizedOut
54
InterruptCheck
55
Compare ← Phi#52, ArrayLength#21 Lt
Bool
56
Test ← Compare#55 → block 10, block 15
1
0
Block 10
57
Elements ← GuardShape#48
Elements
58
InitializedLength ← Elements#57
I[0, 268435453]: Int32
59
BoundsCheck ← Phi#52, InitializedLength#58
I[0, 2147483646]: Int32
60
SpectreMaskIndex ← Phi#52, InitializedLength#58
I[0, 2147483646]: Int32
61
GuardElementNotHole ← Elements#57, SpectreMaskIndex#60
62
Goto → block 11
Block 11
63
GuardElementsArePacked ← Elements#57
64
LoadElement ← Elements#57, SpectreMaskIndex#60
Value
65
AssertClass ← Lambda#11
66
Goto → block 12
Block 12
67
Unbox LoadElement#64 to Double (fallible)
Double
68
Mul ← Unbox#67, Constant#49 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
69
Goto → block 13
Block 13
70
Elements ← GuardShape#50
Elements
71
StoreElementHole ← GuardShape#50, Elements#70, Phi#52, Mul#68
72
Goto → block 14
Block 14 (backedge)
73
Constant 0x1
I[1, 1]: Int32
74
Add ← Phi#52, Constant#73 [int32]
I[1, 2147483647]: Int32
75
Goto → block 9
Block 15
76
Constant function complex4/< (-e:18) at 104289c63d60
Object
77
GuardShape ← NewArrayDynamicLength#41
Object
78
Constant function filter (self-hosted:183) at 104289c47970
Object
79
Lambda ← FunctionEnvironment#6, Constant#76
Object
80
Goto → block 16
Block 16
81
DebugCheckSelfHosted ← Box#15
Value
82
DebugCheckSelfHosted ← Box#17
Value
83
GuardShape ← NewArrayDynamicLength#41
Object
84
Elements ← GuardShape#83
Elements
85
ArrayLength ← Elements#84
I[0, 2147483647]: Int32
86
Goto → block 17
Block 17
87
DebugCheckSelfHosted ← Box#24
Value
88
AssertClass ← Lambda#79
89
Goto → block 18
Block 18
90
Goto → block 19
Block 19
91
Goto → block 20
Block 20
92
DebugCheckSelfHosted ← Box#32
Value
93
HasShape ← NewArrayDynamicLength#41
Bool
94
Test ← HasShape#93 → block 21, block 22
1
0
Block 21
95
Constant shape at 104289c64f00
Shape
96
NewArrayObject ← Constant#95
Object
97
Goto → block 23
Block 22
98
CallGetIntrinsicValue
Value
99
DebugCheckSelfHosted ← CallGetIntrinsicValue#98
Value
100
Bail
101
Unreachable
Block 23
102
GuardShape ← NewArrayDynamicLength#41
Object
103
Constant 50
I[50, 50]: Double
104
GuardShape ← NewArrayObject#96
Object
105
Goto → block 24
Block 24 (loop header)
106
Phi ← Constant#47, Add#133
I[0 {}, 2147483647 {[loop] #85-1}]: Int32
107
Phi ← Constant#47, Phi#131
Int32
108
InterruptCheck
109
Compare ← Phi#106, ArrayLength#85 Lt
Bool
110
Test ← Compare#109 → block 25, block 32
1
0
Block 25
111
Elements ← GuardShape#102
Elements
112
InitializedLength ← Elements#111
I[0, 268435453]: Int32
113
BoundsCheck ← Phi#106, InitializedLength#112
I[0, 2147483646]: Int32
114
SpectreMaskIndex ← Phi#106, InitializedLength#112
I[0, 2147483646]: Int32
115
GuardElementNotHole ← Elements#111, SpectreMaskIndex#114
116
Goto → block 26
Block 26
117
GuardElementsArePacked ← Elements#111
118
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
119
AssertClass ← Lambda#79
120
Goto → block 27
Block 27
121
Unbox LoadElement#118 to Double (fallible)
Double
122
Compare ← Unbox#121, Constant#103 Gt
Bool
123
Goto → block 28
Block 28
124
Test ← Compare#122 → block 30, block 29
1
0
Block 29 (split edge)
125
Goto → block 31
Block 30
126
Constant 0x1
I[1, 1]: Int32
127
Add ← Phi#107, Constant#126 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
128
Elements ← GuardShape#104
Elements
129
StoreElementHole ← GuardShape#104, Elements#128, Phi#107, LoadElement#118
130
Goto → block 31
Block 31 (backedge)
131
Phi ← Add#127, Phi#107
Int32
132
Constant 0x1
I[1, 1]: Int32
133
Add ← Phi#106, Constant#132 [int32]
I[1, 2147483647]: Int32
134
Goto → block 24
Block 32
135
Constant function complex4/< (-e:18) at 104289c63d98
Object
136
GuardShape ← NewArrayObject#96
Object
137
Constant function reduce (self-hosted:205) at 104289c479c0
Object
138
Lambda ← FunctionEnvironment#6, Constant#135
Object
139
Call ← Constant#137, NewArrayObject#96, Lambda#138, Constant#47
Value
140
Return ← Call#139
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant function map (self-hosted:163) at 104289c47920
Object
10
Constant function complex4/< (-e:18) at 104289c63d28
Object
11
Lambda ← FunctionEnvironment#6, Constant#10
Object
12
Goto → block 1
Block 1
13
Constant function ToObject at 104289c6c740
Object
14
Constant function ToLength at 104289c6c778
Object
15
Box ← Constant#13
Value
16
DebugCheckSelfHosted ← Box#15
Value
17
Box ← Constant#14
Value
18
DebugCheckSelfHosted ← Box#17
Value
19
GuardShape ← Unbox#7
Object
20
Elements ← GuardShape#19
Elements
21
ArrayLength ← Elements#20
I[0, 2147483647]: Int32
22
Goto → block 2
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
AssertClass ← Lambda#11
27
Goto → block 3
Block 3
28
Goto → block 4
Block 4
29
Box ← Constant#2
Value
30
Goto → block 5
Block 5
31
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
32
Box ← Constant#31
Value
33
DebugCheckSelfHosted ← Box#32
Value
34
HasShape ← Unbox#7
Bool
35
Test ← HasShape#34 → block 6, block 7
1
0
Block 6
36
Constant function std_Array at 104289c6c820
Object
37
Box ← Constant#36
Value
38
DebugCheckSelfHosted ← Box#37
Value
39
Unbox DebugCheckSelfHosted#38 to Object (fallible)
Object
40
GuardSpecificFunction ← Unbox#39, Constant#36
Object
41
NewArrayDynamicLength ← ArrayLength#21
Object
42
Goto → block 8
Block 7
43
CallGetIntrinsicValue
Value
44
DebugCheckSelfHosted ← CallGetIntrinsicValue#43
Value
45
Bail
46
Unreachable
Block 8
47
Constant 0x0
I[0, 0]: Int32
48
GuardShape ← Unbox#7
Object
49
Constant 2
I[2, 2]: Double
50
GuardShape ← NewArrayDynamicLength#41
Object
51
Goto → block 9
Block 9 (loop header)
52
Phi ← Constant#47, Add#74
I[0 {}, 2147483647 {[loop] #21-1}]: Int32
53
Constant magic optimized-out
MagicOptimizedOut
54
InterruptCheck
55
Compare ← Phi#52, ArrayLength#21 Lt
Bool
56
Test ← Compare#55 → block 10, block 15
1
0
Block 10
57
Elements ← GuardShape#48
Elements
58
InitializedLength ← Elements#57
I[0, 268435453]: Int32
59
BoundsCheck ← Phi#52, InitializedLength#58
I[0, 2147483646]: Int32
60
SpectreMaskIndex ← Phi#52, InitializedLength#58
I[0, 2147483646]: Int32
61
GuardElementNotHole ← Elements#57, SpectreMaskIndex#60
62
Goto → block 11
Block 11
63
GuardElementsArePacked ← Elements#57
64
LoadElement ← Elements#57, SpectreMaskIndex#60
Value
65
AssertClass ← Lambda#11
66
Goto → block 12
Block 12
67
Unbox LoadElement#64 to Double (fallible)
Double
68
Mul ← Unbox#67, Constant#49 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
69
Goto → block 13
Block 13
70
Elements ← GuardShape#50
Elements
71
StoreElementHole ← GuardShape#50, Elements#70, Phi#52, Mul#68
72
Goto → block 14
Block 14 (backedge)
73
Constant 0x1
I[1, 1]: Int32
74
Add ← Phi#52, Constant#73 [int32]
I[1, 2147483647]: Int32
75
Goto → block 9
Block 15
76
Constant function complex4/< (-e:18) at 104289c63d60
Object
77
GuardShape ← NewArrayDynamicLength#41
Object
78
Constant function filter (self-hosted:183) at 104289c47970
Object
79
Lambda ← FunctionEnvironment#6, Constant#76
Object
80
Goto → block 16
Block 16
81
DebugCheckSelfHosted ← Box#15
Value
82
DebugCheckSelfHosted ← Box#17
Value
83
GuardShape ← NewArrayDynamicLength#41
Object
84
Elements ← GuardShape#83
Elements
85
ArrayLength ← Elements#84
I[0, 2147483647]: Int32
86
Goto → block 17
Block 17
87
DebugCheckSelfHosted ← Box#24
Value
88
AssertClass ← Lambda#79
89
Goto → block 18
Block 18
90
Goto → block 19
Block 19
91
Goto → block 20
Block 20
92
DebugCheckSelfHosted ← Box#32
Value
93
HasShape ← NewArrayDynamicLength#41
Bool
94
Test ← HasShape#93 → block 21, block 22
1
0
Block 21
95
Constant shape at 104289c64f00
Shape
96
NewArrayObject ← Constant#95
Object
97
Goto → block 23
Block 22
98
CallGetIntrinsicValue
Value
99
DebugCheckSelfHosted ← CallGetIntrinsicValue#98
Value
100
Bail
101
Unreachable
Block 23
102
GuardShape ← NewArrayDynamicLength#41
Object
103
Constant 50
I[50, 50]: Double
104
GuardShape ← NewArrayObject#96
Object
105
Goto → block 24
Block 24 (loop header)
106
Phi ← Constant#47, Add#133
I[0 {}, 2147483647 {[loop] #85-1}]: Int32
107
Phi ← Constant#47, Phi#131
Int32
108
InterruptCheck
109
Compare ← Phi#106, ArrayLength#85 Lt
Bool
110
Test ← Compare#109 → block 25, block 32
1
0
Block 25
111
Elements ← GuardShape#102
Elements
112
InitializedLength ← Elements#111
I[0, 268435453]: Int32
113
BoundsCheck ← Phi#106, InitializedLength#112
I[0, 2147483646]: Int32
114
SpectreMaskIndex ← Phi#106, InitializedLength#112
I[0, 2147483646]: Int32
115
GuardElementNotHole ← Elements#111, SpectreMaskIndex#114
116
Goto → block 26
Block 26
117
GuardElementsArePacked ← Elements#111
118
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
119
AssertClass ← Lambda#79
120
Goto → block 27
Block 27
121
Unbox LoadElement#118 to Double (fallible)
Double
122
Compare ← Unbox#121, Constant#103 Gt
Bool
123
Goto → block 28
Block 28
124
Test ← Compare#122 → block 30, block 29
1
0
Block 29 (split edge)
125
Goto → block 31
Block 30
126
Constant 0x1
I[1, 1]: Int32
127
Add ← Phi#107, Constant#126 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
128
Elements ← GuardShape#104
Elements
129
StoreElementHole ← GuardShape#104, Elements#128, Phi#107, LoadElement#118
130
Goto → block 31
Block 31 (backedge)
131
Phi ← Add#127, Phi#107
Int32
132
Constant 0x1
I[1, 1]: Int32
133
Add ← Phi#106, Constant#132 [int32]
I[1, 2147483647]: Int32
134
Goto → block 24
Block 32
135
Constant function complex4/< (-e:18) at 104289c63d98
Object
136
GuardShape ← NewArrayObject#96
Object
137
Constant function reduce (self-hosted:205) at 104289c479c0
Object
138
Lambda ← FunctionEnvironment#6, Constant#135
Object
139
Call ← Constant#137, NewArrayObject#96, Lambda#138, Constant#47
Value
140
Return ← Call#139
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant function map (self-hosted:163) at 104289c47920
Object
10
Constant function complex4/< (-e:18) at 104289c63d28
Object
11
Lambda ← FunctionEnvironment#6, Constant#10
Object
12
Goto → block 1
Block 1
13
Constant function ToObject at 104289c6c740
Object
14
Constant function ToLength at 104289c6c778
Object
15
Box ← Constant#13
Value
16
DebugCheckSelfHosted ← Box#15
Value
17
Box ← Constant#14
Value
18
DebugCheckSelfHosted ← Box#17
Value
19
GuardShape ← Unbox#7
Object
20
Elements ← GuardShape#19
Elements
21
ArrayLength ← Elements#20
I[0, 2147483647]: Int32
22
Goto → block 2
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
AssertClass ← Lambda#11
27
Goto → block 3
Block 3
28
Goto → block 4
Block 4
29
Box ← Constant#2
Value
30
Goto → block 5
Block 5
31
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
32
Box ← Constant#31
Value
33
DebugCheckSelfHosted ← Box#32
Value
34
HasShape ← Unbox#7
Bool
35
Test ← HasShape#34 → block 6, block 7
1
0
Block 6
36
Constant function std_Array at 104289c6c820
Object
37
Box ← Constant#36
Value
38
DebugCheckSelfHosted ← Box#37
Value
39
Unbox DebugCheckSelfHosted#38 to Object (fallible)
Object
40
GuardSpecificFunction ← Unbox#39, Constant#36
Object
41
NewArrayDynamicLength ← ArrayLength#21
Object
42
Goto → block 8
Block 7
43
CallGetIntrinsicValue
Value
44
DebugCheckSelfHosted ← CallGetIntrinsicValue#43
Value
45
Bail
46
Unreachable
Block 8
47
Constant 0x0
I[0, 0]: Int32
48
GuardShape ← Unbox#7
Object
49
Constant 2
I[2, 2]: Double
50
GuardShape ← NewArrayDynamicLength#41
Object
51
Goto → block 9
Block 9 (loop header)
52
Phi ← Constant#47, Add#74
I[0 {}, 2147483647 {[loop] #21-1}]: Int32
53
Constant magic optimized-out
MagicOptimizedOut
54
InterruptCheck
55
Compare ← Phi#52, ArrayLength#21 Lt
Bool
56
Test ← Compare#55 → block 10, block 15
1
0
Block 10
57
Elements ← GuardShape#48
Elements
58
InitializedLength ← Elements#57
I[0, 268435453]: Int32
59
BoundsCheck ← Phi#52, InitializedLength#58
I[0, 2147483646]: Int32
60
SpectreMaskIndex ← Phi#52, InitializedLength#58
I[0, 2147483646]: Int32
61
GuardElementNotHole ← Elements#57, SpectreMaskIndex#60
62
Goto → block 11
Block 11
63
GuardElementsArePacked ← Elements#57
64
LoadElement ← Elements#57, SpectreMaskIndex#60
Value
65
AssertClass ← Lambda#11
66
Goto → block 12
Block 12
67
Unbox LoadElement#64 to Double (fallible)
Double
68
Mul ← Unbox#67, Constant#49 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
69
Goto → block 13
Block 13
70
Elements ← GuardShape#50
Elements
71
StoreElementHole ← GuardShape#50, Elements#70, Phi#52, Mul#68
72
Goto → block 14
Block 14 (backedge)
73
Constant 0x1
I[1, 1]: Int32
74
Add ← Phi#52, Constant#73 [int32]
I[1, 2147483647]: Int32
75
Goto → block 9
Block 15
76
Constant function complex4/< (-e:18) at 104289c63d60
Object
77
GuardShape ← NewArrayDynamicLength#41
Object
78
Constant function filter (self-hosted:183) at 104289c47970
Object
79
Lambda ← FunctionEnvironment#6, Constant#76
Object
80
Goto → block 16
Block 16
81
DebugCheckSelfHosted ← Box#15
Value
82
DebugCheckSelfHosted ← Box#17
Value
83
GuardShape ← NewArrayDynamicLength#41
Object
84
Elements ← GuardShape#83
Elements
85
ArrayLength ← Elements#84
I[0, 2147483647]: Int32
86
Goto → block 17
Block 17
87
DebugCheckSelfHosted ← Box#24
Value
88
AssertClass ← Lambda#79
89
Goto → block 18
Block 18
90
Goto → block 19
Block 19
91
Goto → block 20
Block 20
92
DebugCheckSelfHosted ← Box#32
Value
93
HasShape ← NewArrayDynamicLength#41
Bool
94
Test ← HasShape#93 → block 21, block 22
1
0
Block 21
95
Constant shape at 104289c64f00
Shape
96
NewArrayObject ← Constant#95
Object
97
Goto → block 23
Block 22
98
CallGetIntrinsicValue
Value
99
DebugCheckSelfHosted ← CallGetIntrinsicValue#98
Value
100
Bail
101
Unreachable
Block 23
102
GuardShape ← NewArrayDynamicLength#41
Object
103
Constant 50
I[50, 50]: Double
104
GuardShape ← NewArrayObject#96
Object
105
Goto → block 24
Block 24 (loop header)
106
Phi ← Constant#47, Add#133
I[0 {}, 2147483647 {[loop] #85-1}]: Int32
107
Phi ← Constant#47, Phi#131
Int32
108
InterruptCheck
109
Compare ← Phi#106, ArrayLength#85 Lt
Bool
110
Test ← Compare#109 → block 25, block 32
1
0
Block 25
111
Elements ← GuardShape#102
Elements
112
InitializedLength ← Elements#111
I[0, 268435453]: Int32
113
BoundsCheck ← Phi#106, InitializedLength#112
I[0, 2147483646]: Int32
114
SpectreMaskIndex ← Phi#106, InitializedLength#112
I[0, 2147483646]: Int32
115
GuardElementNotHole ← Elements#111, SpectreMaskIndex#114
116
Goto → block 26
Block 26
117
GuardElementsArePacked ← Elements#111
118
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
119
AssertClass ← Lambda#79
120
Goto → block 27
Block 27
121
Unbox LoadElement#118 to Double (fallible)
Double
122
Compare ← Unbox#121, Constant#103 Gt
Bool
123
Goto → block 28
Block 28
124
Test ← Compare#122 → block 30, block 29
1
0
Block 29 (split edge)
125
Goto → block 31
Block 30
126
Constant 0x1
I[1, 1]: Int32
127
Add ← Phi#107, Constant#126 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
128
Elements ← GuardShape#104
Elements
129
StoreElementHole ← GuardShape#104, Elements#128, Phi#107, LoadElement#118
130
Goto → block 31
Block 31 (backedge)
131
Phi ← Add#127, Phi#107
Int32
132
Constant 0x1
I[1, 1]: Int32
133
Add ← Phi#106, Constant#132 [int32]
I[1, 2147483647]: Int32
134
Goto → block 24
Block 32
135
Constant function complex4/< (-e:18) at 104289c63d98
Object
136
GuardShape ← NewArrayObject#96
Object
137
Constant function reduce (self-hosted:205) at 104289c479c0
Object
138
Lambda ← FunctionEnvironment#6, Constant#135
Object
139
Call ← Constant#137, NewArrayObject#96, Lambda#138, Constant#47
Value
140
Return ← Call#139
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant function map (self-hosted:163) at 104289c47920
Object
10
Constant function complex4/< (-e:18) at 104289c63d28
Object
11
Lambda ← FunctionEnvironment#6, Constant#10
Object
12
Goto → block 1
Block 1
13
Constant function ToObject at 104289c6c740
Object
14
Constant function ToLength at 104289c6c778
Object
15
Box ← Constant#13
Value
16
DebugCheckSelfHosted ← Box#15
Value
17
Box ← Constant#14
Value
18
DebugCheckSelfHosted ← Box#17
Value
19
GuardShape ← Unbox#7
Object
20
Elements ← GuardShape#19
Elements
21
ArrayLength ← Elements#20
I[0, 2147483647]: Int32
22
Goto → block 2
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
AssertClass ← Lambda#11
27
Goto → block 3
Block 3
28
Goto → block 4
Block 4
29
Box ← Constant#2
Value
30
Goto → block 5
Block 5
31
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
32
Box ← Constant#31
Value
33
DebugCheckSelfHosted ← Box#32
Value
34
HasShape ← Unbox#7
Bool
35
Test ← HasShape#34 → block 6, block 7
1
0
Block 6
36
Constant function std_Array at 104289c6c820
Object
37
Box ← Constant#36
Value
38
DebugCheckSelfHosted ← Box#37
Value
39
Unbox DebugCheckSelfHosted#38 to Object (fallible)
Object
40
GuardSpecificFunction ← Unbox#39, Constant#36
Object
41
NewArrayDynamicLength ← ArrayLength#21
Object
42
Goto → block 8
Block 7
43
CallGetIntrinsicValue
Value
44
DebugCheckSelfHosted ← CallGetIntrinsicValue#43
Value
45
Bail
46
Unreachable
Block 8
47
Constant 0x0
I[0, 0]: Int32
48
GuardShape ← Unbox#7
Object
49
Constant 2
I[2, 2]: Double
50
GuardShape ← NewArrayDynamicLength#41
Object
51
Goto → block 9
Block 9 (loop header)
52
Phi ← Constant#47, Add#74
I[0 {}, 2147483647 {[loop] #21-1}]: Int32
53
Constant magic optimized-out
MagicOptimizedOut
54
InterruptCheck
55
Compare ← Phi#52, ArrayLength#21 Lt
Bool
56
Test ← Compare#55 → block 10, block 15
1
0
Block 10
57
Elements ← GuardShape#48
Elements
58
InitializedLength ← Elements#57
I[0, 268435453]: Int32
59
BoundsCheck ← Phi#52, InitializedLength#58
I[0, 2147483646]: Int32
60
SpectreMaskIndex ← Phi#52, InitializedLength#58
I[0, 2147483646]: Int32
61
GuardElementNotHole ← Elements#57, SpectreMaskIndex#60
62
Goto → block 11
Block 11
63
GuardElementsArePacked ← Elements#57
64
LoadElement ← Elements#57, SpectreMaskIndex#60
Value
65
AssertClass ← Lambda#11
66
Goto → block 12
Block 12
67
Unbox LoadElement#64 to Double (fallible)
Double
68
Mul ← Unbox#67, Constant#49 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
69
Goto → block 13
Block 13
70
Elements ← GuardShape#50
Elements
71
StoreElementHole ← GuardShape#50, Elements#70, Phi#52, Mul#68
72
Goto → block 14
Block 14 (backedge)
73
Constant 0x1
I[1, 1]: Int32
74
Add ← Phi#52, Constant#73 [int32]
I[1, 2147483647]: Int32
75
Goto → block 9
Block 15
76
Constant function complex4/< (-e:18) at 104289c63d60
Object
77
GuardShape ← NewArrayDynamicLength#41
Object
78
Constant function filter (self-hosted:183) at 104289c47970
Object
79
Lambda ← FunctionEnvironment#6, Constant#76
Object
80
Goto → block 16
Block 16
81
DebugCheckSelfHosted ← Box#15
Value
82
DebugCheckSelfHosted ← Box#17
Value
83
GuardShape ← NewArrayDynamicLength#41
Object
84
Elements ← GuardShape#83
Elements
85
ArrayLength ← Elements#84
I[0, 2147483647]: Int32
86
Goto → block 17
Block 17
87
DebugCheckSelfHosted ← Box#24
Value
88
AssertClass ← Lambda#79
89
Goto → block 18
Block 18
90
Goto → block 19
Block 19
91
Goto → block 20
Block 20
92
DebugCheckSelfHosted ← Box#32
Value
93
HasShape ← NewArrayDynamicLength#41
Bool
94
Test ← HasShape#93 → block 21, block 22
1
0
Block 21
95
Constant shape at 104289c64f00
Shape
96
NewArrayObject ← Constant#95
Object
97
Goto → block 23
Block 22
98
CallGetIntrinsicValue
Value
99
DebugCheckSelfHosted ← CallGetIntrinsicValue#98
Value
100
Bail
101
Unreachable
Block 23
102
GuardShape ← NewArrayDynamicLength#41
Object
103
Constant 50
I[50, 50]: Double
104
GuardShape ← NewArrayObject#96
Object
105
Goto → block 24
Block 24 (loop header)
106
Phi ← Constant#47, Add#133
I[0 {}, 2147483647 {[loop] #85-1}]: Int32
107
Phi ← Constant#47, Phi#131
Int32
108
InterruptCheck
109
Compare ← Phi#106, ArrayLength#85 Lt
Bool
110
Test ← Compare#109 → block 25, block 32
1
0
Block 25
111
Elements ← GuardShape#102
Elements
112
InitializedLength ← Elements#111
I[0, 268435453]: Int32
113
BoundsCheck ← Phi#106, InitializedLength#112
I[0, 2147483646]: Int32
114
SpectreMaskIndex ← Phi#106, InitializedLength#112
I[0, 2147483646]: Int32
115
GuardElementNotHole ← Elements#111, SpectreMaskIndex#114
116
Goto → block 26
Block 26
117
GuardElementsArePacked ← Elements#111
118
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
119
AssertClass ← Lambda#79
120
Goto → block 27
Block 27
121
Unbox LoadElement#118 to Double (fallible)
Double
122
Compare ← Unbox#121, Constant#103 Gt
Bool
123
Goto → block 28
Block 28
124
Test ← Compare#122 → block 30, block 29
1
0
Block 29 (split edge)
125
Goto → block 31
Block 30
126
Constant 0x1
I[1, 1]: Int32
127
Add ← Phi#107, Constant#126 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
128
Elements ← GuardShape#104
Elements
129
StoreElementHole ← GuardShape#104, Elements#128, Phi#107, LoadElement#118
130
Goto → block 31
Block 31 (backedge)
131
Phi ← Add#127, Phi#107
Int32
132
Constant 0x1
I[1, 1]: Int32
133
Add ← Phi#106, Constant#132 [int32]
I[1, 2147483647]: Int32
134
Goto → block 24
Block 32
135
Constant function complex4/< (-e:18) at 104289c63d98
Object
136
GuardShape ← NewArrayObject#96
Object
137
Constant function reduce (self-hosted:205) at 104289c479c0
Object
138
Lambda ← FunctionEnvironment#6, Constant#135
Object
139
Call ← Constant#137, NewArrayObject#96, Lambda#138, Constant#47
Value
140
Return ← Call#139
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant function map (self-hosted:163) at 104289c47920
Object
10
Constant function complex4/< (-e:18) at 104289c63d28
Object
11
Lambda ← FunctionEnvironment#6, Constant#10
Object
12
Goto → block 1
Block 1
13
Constant function ToObject at 104289c6c740
Object
14
Constant function ToLength at 104289c6c778
Object
15
Box ← Constant#13
Value
16
DebugCheckSelfHosted ← Box#15
Value
17
Box ← Constant#14
Value
18
DebugCheckSelfHosted ← Box#17
Value
19
GuardShape ← Unbox#7
Object
20
Elements ← GuardShape#19
Elements
402
DebugEnterGCUnsafeRegion
21
ArrayLength ← Elements#20
I[0, 2147483647]: Int32
403
DebugLeaveGCUnsafeRegion
22
Goto → block 2
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
AssertClass ← Lambda#11
27
Goto → block 3
Block 3
28
Goto → block 4
Block 4
29
Box ← Constant#2
Value
30
Goto → block 5
Block 5
31
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
32
Box ← Constant#31
Value
33
DebugCheckSelfHosted ← Box#32
Value
34
HasShape ← Unbox#7
Bool
35
Test ← HasShape#34 → block 6, block 7
1
0
Block 6
36
Constant function std_Array at 104289c6c820
Object
37
Box ← Constant#36
Value
38
DebugCheckSelfHosted ← Box#37
Value
39
Unbox DebugCheckSelfHosted#38 to Object (fallible)
Object
40
GuardSpecificFunction ← Unbox#39, Constant#36
Object
41
NewArrayDynamicLength ← ArrayLength#21
Object
42
Goto → block 8
Block 7
43
CallGetIntrinsicValue
Value
44
DebugCheckSelfHosted ← CallGetIntrinsicValue#43
Value
45
Bail
46
Unreachable
Block 8
47
Constant 0x0
I[0, 0]: Int32
48
GuardShape ← Unbox#7
Object
49
Constant 2
I[2, 2]: Double
50
GuardShape ← NewArrayDynamicLength#41
Object
51
Goto → block 9
Block 9 (loop header)
52
Phi ← Constant#47, Add#74
I[0 {}, 2147483647 {[loop] #21-1}]: Int32
53
Constant magic optimized-out
MagicOptimizedOut
54
InterruptCheck
55
Compare ← Phi#52, ArrayLength#21 Lt
Bool
56
Test ← Compare#55 → block 10, block 15
1
0
Block 10
57
Elements ← GuardShape#48
Elements
408
DebugEnterGCUnsafeRegion
406
DebugEnterGCUnsafeRegion
58
InitializedLength ← Elements#57
I[0, 268435453]: Int32
409
DebugLeaveGCUnsafeRegion
59
BoundsCheck ← Phi#52, InitializedLength#58
I[0, 2147483646]: Int32
60
SpectreMaskIndex ← Phi#52, InitializedLength#58
I[0, 2147483646]: Int32
61
GuardElementNotHole ← Elements#57, SpectreMaskIndex#60
407
DebugLeaveGCUnsafeRegion
62
Goto → block 11
Block 11
63
GuardElementsArePacked ← Elements#57
405
KeepAliveObject ← GuardShape#48
64
LoadElement ← Elements#57, SpectreMaskIndex#60
Value
404
KeepAliveObject ← GuardShape#48
65
AssertClass ← Lambda#11
66
Goto → block 12
Block 12
67
Unbox LoadElement#64 to Double (fallible)
Double
68
Mul ← Unbox#67, Constant#49 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
69
Goto → block 13
Block 13
70
Elements ← GuardShape#50
Elements
71
StoreElementHole ← GuardShape#50, Elements#70, Phi#52, Mul#68
72
Goto → block 14
Block 14 (backedge)
73
Constant 0x1
I[1, 1]: Int32
74
Add ← Phi#52, Constant#73 [int32]
I[1, 2147483647]: Int32
75
Goto → block 9
Block 15
76
Constant function complex4/< (-e:18) at 104289c63d60
Object
77
GuardShape ← NewArrayDynamicLength#41
Object
78
Constant function filter (self-hosted:183) at 104289c47970
Object
79
Lambda ← FunctionEnvironment#6, Constant#76
Object
80
Goto → block 16
Block 16
81
DebugCheckSelfHosted ← Box#15
Value
82
DebugCheckSelfHosted ← Box#17
Value
83
GuardShape ← NewArrayDynamicLength#41
Object
84
Elements ← GuardShape#83
Elements
410
DebugEnterGCUnsafeRegion
85
ArrayLength ← Elements#84
I[0, 2147483647]: Int32
411
DebugLeaveGCUnsafeRegion
86
Goto → block 17
Block 17
87
DebugCheckSelfHosted ← Box#24
Value
88
AssertClass ← Lambda#79
89
Goto → block 18
Block 18
90
Goto → block 19
Block 19
91
Goto → block 20
Block 20
92
DebugCheckSelfHosted ← Box#32
Value
93
HasShape ← NewArrayDynamicLength#41
Bool
94
Test ← HasShape#93 → block 21, block 22
1
0
Block 21
95
Constant shape at 104289c64f00
Shape
96
NewArrayObject ← Constant#95
Object
97
Goto → block 23
Block 22
98
CallGetIntrinsicValue
Value
99
DebugCheckSelfHosted ← CallGetIntrinsicValue#98
Value
100
Bail
101
Unreachable
Block 23
102
GuardShape ← NewArrayDynamicLength#41
Object
103
Constant 50
I[50, 50]: Double
104
GuardShape ← NewArrayObject#96
Object
105
Goto → block 24
Block 24 (loop header)
106
Phi ← Constant#47, Add#133
I[0 {}, 2147483647 {[loop] #85-1}]: Int32
107
Phi ← Constant#47, Phi#131
Int32
108
InterruptCheck
109
Compare ← Phi#106, ArrayLength#85 Lt
Bool
110
Test ← Compare#109 → block 25, block 32
1
0
Block 25
111
Elements ← GuardShape#102
Elements
416
DebugEnterGCUnsafeRegion
414
DebugEnterGCUnsafeRegion
112
InitializedLength ← Elements#111
I[0, 268435453]: Int32
417
DebugLeaveGCUnsafeRegion
113
BoundsCheck ← Phi#106, InitializedLength#112
I[0, 2147483646]: Int32
114
SpectreMaskIndex ← Phi#106, InitializedLength#112
I[0, 2147483646]: Int32
115
GuardElementNotHole ← Elements#111, SpectreMaskIndex#114
415
DebugLeaveGCUnsafeRegion
116
Goto → block 26
Block 26
117
GuardElementsArePacked ← Elements#111
413
KeepAliveObject ← GuardShape#102
118
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
412
KeepAliveObject ← GuardShape#102
119
AssertClass ← Lambda#79
120
Goto → block 27
Block 27
121
Unbox LoadElement#118 to Double (fallible)
Double
122
Compare ← Unbox#121, Constant#103 Gt
Bool
123
Goto → block 28
Block 28
124
Test ← Compare#122 → block 30, block 29
1
0
Block 29 (split edge)
125
Goto → block 31
Block 30
126
Constant 0x1
I[1, 1]: Int32
127
Add ← Phi#107, Constant#126 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
128
Elements ← GuardShape#104
Elements
129
StoreElementHole ← GuardShape#104, Elements#128, Phi#107, LoadElement#118
130
Goto → block 31
Block 31 (backedge)
131
Phi ← Add#127, Phi#107
Int32
132
Constant 0x1
I[1, 1]: Int32
133
Add ← Phi#106, Constant#132 [int32]
I[1, 2147483647]: Int32
134
Goto → block 24
Block 32
135
Constant function complex4/< (-e:18) at 104289c63d98
Object
136
GuardShape ← NewArrayObject#96
Object
137
Constant function reduce (self-hosted:205) at 104289c479c0
Object
138
Lambda ← FunctionEnvironment#6, Constant#135
Object
139
Call ← Constant#137, NewArrayObject#96, Lambda#138, Constant#47
Value
140
Return ← Call#139
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant function map (self-hosted:163) at 104289c47920
Object
10
Constant function complex4/< (-e:18) at 104289c63d28
Object
11
Lambda ← FunctionEnvironment#6, Constant#10
Object
12
Goto → block 1
Block 1
13
Constant function ToObject at 104289c6c740
Object
14
Constant function ToLength at 104289c6c778
Object
15
Box ← Constant#13
Value
16
DebugCheckSelfHosted ← Box#15
Value
17
Box ← Constant#14
Value
18
DebugCheckSelfHosted ← Box#17
Value
19
GuardShape ← Unbox#7
Object
20
Elements ← GuardShape#19
Elements
402
DebugEnterGCUnsafeRegion
21
ArrayLength ← Elements#20
I[0, 2147483647]: Int32
403
DebugLeaveGCUnsafeRegion
22
Goto → block 2
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
AssertClass ← Lambda#11
27
Goto → block 3
Block 3
28
Goto → block 4
Block 4
29
Box ← Constant#2
Value
30
Goto → block 5
Block 5
31
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
32
Box ← Constant#31
Value
33
DebugCheckSelfHosted ← Box#32
Value
34
HasShape ← Unbox#7
Bool
35
Test ← HasShape#34 → block 6, block 7
1
0
Block 6
36
Constant function std_Array at 104289c6c820
Object
37
Box ← Constant#36
Value
38
DebugCheckSelfHosted ← Box#37
Value
39
Unbox Box#37 to Object (fallible)
Object
40
GuardSpecificFunction ← Unbox#39, Constant#36
Object
41
NewArrayDynamicLength ← ArrayLength#21
Object
42
Goto → block 8
Block 7
43
CallGetIntrinsicValue
Value
44
DebugCheckSelfHosted ← CallGetIntrinsicValue#43
Value
45
Bail
46
Unreachable
Block 8
47
Constant 0x0
I[0, 0]: Int32
48
GuardShape ← Unbox#7
Object
49
Constant 2
I[2, 2]: Double
50
GuardShape ← NewArrayDynamicLength#41
Object
51
Goto → block 9
Block 9 (loop header)
52
Phi ← Constant#47, Add#74
I[0 {}, 2147483647 {[loop] #21-1}]: Int32
53
Constant magic optimized-out
MagicOptimizedOut
54
InterruptCheck
55
Compare ← Phi#52, ArrayLength#21 Lt
Bool
56
Test ← Compare#55 → block 10, block 15
1
0
Block 10
57
Elements ← GuardShape#48
Elements
408
DebugEnterGCUnsafeRegion
406
DebugEnterGCUnsafeRegion
58
InitializedLength ← Elements#57
I[0, 268435453]: Int32
409
DebugLeaveGCUnsafeRegion
59
BoundsCheck ← Phi#52, InitializedLength#58
I[0, 2147483646]: Int32
60
SpectreMaskIndex ← Phi#52, InitializedLength#58
I[0, 2147483646]: Int32
61
GuardElementNotHole ← Elements#57, SpectreMaskIndex#60
407
DebugLeaveGCUnsafeRegion
62
Goto → block 11
Block 11
63
GuardElementsArePacked ← Elements#57
405
KeepAliveObject ← GuardShape#48
64
LoadElement ← Elements#57, SpectreMaskIndex#60
Value
404
KeepAliveObject ← GuardShape#48
65
AssertClass ← Lambda#11
66
Goto → block 12
Block 12
67
Unbox LoadElement#64 to Double (fallible)
Double
68
Mul ← Unbox#67, Constant#49 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
69
Goto → block 13
Block 13
70
Elements ← GuardShape#50
Elements
71
StoreElementHole ← GuardShape#50, Elements#70, Phi#52, Mul#68
72
Goto → block 14
Block 14 (backedge)
73
Constant 0x1
I[1, 1]: Int32
74
Add ← Phi#52, Constant#73 [int32]
I[1, 2147483647]: Int32
75
Goto → block 9
Block 15
76
Constant function complex4/< (-e:18) at 104289c63d60
Object
77
GuardShape ← NewArrayDynamicLength#41
Object
78
Constant function filter (self-hosted:183) at 104289c47970
Object
79
Lambda ← FunctionEnvironment#6, Constant#76
Object
80
Goto → block 16
Block 16
81
DebugCheckSelfHosted ← Box#15
Value
82
DebugCheckSelfHosted ← Box#17
Value
83
GuardShape ← NewArrayDynamicLength#41
Object
84
Elements ← GuardShape#83
Elements
410
DebugEnterGCUnsafeRegion
85
ArrayLength ← Elements#84
I[0, 2147483647]: Int32
411
DebugLeaveGCUnsafeRegion
86
Goto → block 17
Block 17
87
DebugCheckSelfHosted ← Box#24
Value
88
AssertClass ← Lambda#79
89
Goto → block 18
Block 18
90
Goto → block 19
Block 19
91
Goto → block 20
Block 20
92
DebugCheckSelfHosted ← Box#32
Value
93
HasShape ← NewArrayDynamicLength#41
Bool
94
Test ← HasShape#93 → block 21, block 22
1
0
Block 21
95
Constant shape at 104289c64f00
Shape
96
NewArrayObject ← Constant#95
Object
97
Goto → block 23
Block 22
98
CallGetIntrinsicValue
Value
99
DebugCheckSelfHosted ← CallGetIntrinsicValue#98
Value
100
Bail
101
Unreachable
Block 23
102
GuardShape ← NewArrayDynamicLength#41
Object
103
Constant 50
I[50, 50]: Double
104
GuardShape ← NewArrayObject#96
Object
105
Goto → block 24
Block 24 (loop header)
106
Phi ← Constant#47, Add#133
I[0 {}, 2147483647 {[loop] #85-1}]: Int32
107
Phi ← Constant#47, Phi#131
Int32
108
InterruptCheck
109
Compare ← Phi#106, ArrayLength#85 Lt
Bool
110
Test ← Compare#109 → block 25, block 32
1
0
Block 25
111
Elements ← GuardShape#102
Elements
416
DebugEnterGCUnsafeRegion
414
DebugEnterGCUnsafeRegion
112
InitializedLength ← Elements#111
I[0, 268435453]: Int32
417
DebugLeaveGCUnsafeRegion
113
BoundsCheck ← Phi#106, InitializedLength#112
I[0, 2147483646]: Int32
114
SpectreMaskIndex ← Phi#106, InitializedLength#112
I[0, 2147483646]: Int32
115
GuardElementNotHole ← Elements#111, SpectreMaskIndex#114
415
DebugLeaveGCUnsafeRegion
116
Goto → block 26
Block 26
117
GuardElementsArePacked ← Elements#111
413
KeepAliveObject ← GuardShape#102
118
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
412
KeepAliveObject ← GuardShape#102
119
AssertClass ← Lambda#79
120
Goto → block 27
Block 27
121
Unbox LoadElement#118 to Double (fallible)
Double
122
Compare ← Unbox#121, Constant#103 Gt
Bool
123
Goto → block 28
Block 28
124
Test ← Compare#122 → block 30, block 29
1
0
Block 29 (split edge)
125
Goto → block 31
Block 30
126
Constant 0x1
I[1, 1]: Int32
127
Add ← Phi#107, Constant#126 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
128
Elements ← GuardShape#104
Elements
129
StoreElementHole ← GuardShape#104, Elements#128, Phi#107, LoadElement#118
130
Goto → block 31
Block 31 (backedge)
131
Phi ← Add#127, Phi#107
Int32
132
Constant 0x1
I[1, 1]: Int32
133
Add ← Phi#106, Constant#132 [int32]
I[1, 2147483647]: Int32
134
Goto → block 24
Block 32
135
Constant function complex4/< (-e:18) at 104289c63d98
Object
136
GuardShape ← NewArrayObject#96
Object
137
Constant function reduce (self-hosted:205) at 104289c479c0
Object
138
Lambda ← FunctionEnvironment#6, Constant#135
Object
139
Call ← Constant#137, NewArrayObject#96, Lambda#138, Constant#47
Value
140
Return ← Call#139
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Callee
Object
6
FunctionEnvironment ← Callee#5
Object
7
Unbox Parameter#1 to Object (fallible)
Object
8
GuardShape ← Unbox#7
Object
9
Constant function map (self-hosted:163) at 104289c47920
Object
10
Constant function complex4/< (-e:18) at 104289c63d28
Object
11
Lambda ← FunctionEnvironment#6, Constant#10
Object
12
Goto → block 1
Block 1
13
Constant function ToObject at 104289c6c740
Object
14
Constant function ToLength at 104289c6c778
Object
15
Box ← Constant#13
Value
16
DebugCheckSelfHosted ← Box#15
Value
17
Box ← Constant#14
Value
18
DebugCheckSelfHosted ← Box#17
Value
19
GuardShape ← Unbox#7
Object
20
Elements ← GuardShape#19
Elements
402
DebugEnterGCUnsafeRegion
21
ArrayLength ← Elements#20
I[0, 2147483647]: Int32
403
DebugLeaveGCUnsafeRegion
22
Goto → block 2
Block 2
23
Constant function IsCallable at 104289c6c7b0
Object
24
Box ← Constant#23
Value
25
DebugCheckSelfHosted ← Box#24
Value
26
AssertClass ← Lambda#11
27
Goto → block 3
Block 3
28
Goto → block 4
Block 4
29
Box ← Constant#2
Value
30
Goto → block 5
Block 5
31
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
32
Box ← Constant#31
Value
33
DebugCheckSelfHosted ← Box#32
Value
34
HasShape ← Unbox#7
Bool
35
Test ← HasShape#34 → block 6, block 7
1
0
Block 6
36
Constant function std_Array at 104289c6c820
Object
37
Box ← Constant#36
Value
38
DebugCheckSelfHosted ← Box#37
Value
39
Unbox Box#37 to Object (fallible)
Object
40
GuardSpecificFunction ← Unbox#39, Constant#36
Object
41
NewArrayDynamicLength ← ArrayLength#21
Object
42
Goto → block 8
Block 7
43
CallGetIntrinsicValue
Value
44
DebugCheckSelfHosted ← CallGetIntrinsicValue#43
Value
45
Bail
46
Unreachable
Block 8
47
Constant 0x0
I[0, 0]: Int32
48
GuardShape ← Unbox#7
Object
49
Constant 2
I[2, 2]: Double
50
GuardShape ← NewArrayDynamicLength#41
Object
51
Goto → block 9
Block 9 (loop header)
52
Phi ← Constant#47, Add#74
I[0 {}, 2147483647 {[loop] #21-1}]: Int32
53
Constant magic optimized-out
MagicOptimizedOut
54
InterruptCheck
55
Compare ← Phi#52, ArrayLength#21 Lt
Bool
56
Test ← Compare#55 → block 10, block 15
1
0
Block 10
57
Elements ← GuardShape#48
Elements
408
DebugEnterGCUnsafeRegion
406
DebugEnterGCUnsafeRegion
58
InitializedLength ← Elements#57
I[0, 268435453]: Int32
409
DebugLeaveGCUnsafeRegion
59
BoundsCheck ← Phi#52, InitializedLength#58
I[0, 2147483646]: Int32
60
SpectreMaskIndex ← Phi#52, InitializedLength#58
I[0, 2147483646]: Int32
61
GuardElementNotHole ← Elements#57, SpectreMaskIndex#60
407
DebugLeaveGCUnsafeRegion
62
Goto → block 11
Block 11
63
GuardElementsArePacked ← Elements#57
405
KeepAliveObject ← GuardShape#48
64
LoadElement ← Elements#57, SpectreMaskIndex#60
Value
404
KeepAliveObject ← GuardShape#48
65
AssertClass ← Lambda#11
66
Goto → block 12
Block 12
67
Unbox LoadElement#64 to Double (fallible)
Double
68
Mul ← Unbox#67, Constant#49 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
69
Goto → block 13
Block 13
70
Elements ← GuardShape#50
Elements
71
StoreElementHole ← GuardShape#50, Elements#70, Phi#52, Mul#68
72
Goto → block 14
Block 14 (backedge)
73
Constant 0x1
I[1, 1]: Int32
74
Add ← Phi#52, Constant#73 [int32]
I[1, 2147483647]: Int32
75
Goto → block 9
Block 15
76
Constant function complex4/< (-e:18) at 104289c63d60
Object
77
GuardShape ← NewArrayDynamicLength#41
Object
78
Constant function filter (self-hosted:183) at 104289c47970
Object
79
Lambda ← FunctionEnvironment#6, Constant#76
Object
80
Goto → block 16
Block 16
81
DebugCheckSelfHosted ← Box#15
Value
82
DebugCheckSelfHosted ← Box#17
Value
83
GuardShape ← NewArrayDynamicLength#41
Object
84
Elements ← GuardShape#83
Elements
410
DebugEnterGCUnsafeRegion
85
ArrayLength ← Elements#84
I[0, 2147483647]: Int32
411
DebugLeaveGCUnsafeRegion
86
Goto → block 17
Block 17
87
DebugCheckSelfHosted ← Box#24
Value
88
AssertClass ← Lambda#79
89
Goto → block 18
Block 18
90
Goto → block 19
Block 19
91
Goto → block 20
Block 20
92
DebugCheckSelfHosted ← Box#32
Value
93
HasShape ← NewArrayDynamicLength#41
Bool
94
Test ← HasShape#93 → block 21, block 22
1
0
Block 21
95
Constant shape at 104289c64f00
Shape
96
NewArrayObject ← Constant#95
Object
97
Goto → block 23
Block 22
98
CallGetIntrinsicValue
Value
99
DebugCheckSelfHosted ← CallGetIntrinsicValue#98
Value
100
Bail
101
Unreachable
Block 23
102
GuardShape ← NewArrayDynamicLength#41
Object
103
Constant 50
I[50, 50]: Double
104
GuardShape ← NewArrayObject#96
Object
105
Goto → block 24
Block 24 (loop header)
106
Phi ← Constant#47, Add#133
I[0 {}, 2147483647 {[loop] #85-1}]: Int32
107
Phi ← Constant#47, Phi#131
Int32
108
InterruptCheck
109
Compare ← Phi#106, ArrayLength#85 Lt
Bool
110
Test ← Compare#109 → block 25, block 32
1
0
Block 25
111
Elements ← GuardShape#102
Elements
416
DebugEnterGCUnsafeRegion
414
DebugEnterGCUnsafeRegion
112
InitializedLength ← Elements#111
I[0, 268435453]: Int32
417
DebugLeaveGCUnsafeRegion
113
BoundsCheck ← Phi#106, InitializedLength#112
I[0, 2147483646]: Int32
114
SpectreMaskIndex ← Phi#106, InitializedLength#112
I[0, 2147483646]: Int32
115
GuardElementNotHole ← Elements#111, SpectreMaskIndex#114
415
DebugLeaveGCUnsafeRegion
116
Goto → block 26
Block 26
117
GuardElementsArePacked ← Elements#111
413
KeepAliveObject ← GuardShape#102
118
LoadElement ← Elements#111, SpectreMaskIndex#114
Value
412
KeepAliveObject ← GuardShape#102
119
AssertClass ← Lambda#79
120
Goto → block 27
Block 27
121
Unbox LoadElement#118 to Double (fallible)
Double
122
Compare ← Unbox#121, Constant#103 Gt
Bool
123
Goto → block 28
Block 28
124
Test ← Compare#122 → block 30, block 29
1
0
Block 29 (split edge)
125
Goto → block 31
Block 30
126
Constant 0x1
I[1, 1]: Int32
127
Add ← Phi#107, Constant#126 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
128
Elements ← GuardShape#104
Elements
129
StoreElementHole ← GuardShape#104, Elements#128, Phi#107, LoadElement#118
130
Goto → block 31
Block 31 (backedge)
131
Phi ← Add#127, Phi#107
Int32
132
Constant 0x1
I[1, 1]: Int32
133
Add ← Phi#106, Constant#132 [int32]
I[1, 2147483647]: Int32
134
Goto → block 24
Block 32
135
Constant function complex4/< (-e:18) at 104289c63d98
Object
136
GuardShape ← NewArrayObject#96
Object
137
Constant function reduce (self-hosted:205) at 104289c479c0
Object
138
Lambda ← FunctionEnvironment#6, Constant#135
Object
139
Call ← Constant#137, NewArrayObject#96, Lambda#138, Constant#47
Value
140
Return ← Call#139
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant object 104289c3f040 (LexicalEnvironment)
Object
7
Constant object 104289c3e030 (global)
Object
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
9
Constant undefined
Undefined
10
Constant 0x1
Int32
11
Constant function complex1 (-e:2) at 104289c6c8c8
Object
12
GuardSpecificFunction ← Constant#8, Constant#11
Object
13
Call ← GuardSpecificFunction#12, Constant#9, Parameter#1
Value
14
Constant object 104289c3f040 (LexicalEnvironment)
Object
15
Constant object 104289c3e030 (global)
Object
16
Constant function complex2 (-e:7) at 104289c6c970
Object
17
Constant undefined
Undefined
18
Constant 0x1
Int32
19
Constant function complex2 (-e:7) at 104289c6c970
Object
20
GuardSpecificFunction ← Constant#16, Constant#19
Object
21
Call ← GuardSpecificFunction#20, Constant#17, Parameter#1
Value
22
Constant object 104289c3f040 (LexicalEnvironment)
Object
23
Constant object 104289c3e030 (global)
Object
24
Constant function complex3 (-e:11) at 104289c6c938
Object
25
Constant undefined
Undefined
26
Constant 0x2
Int32
27
Constant function complex3 (-e:11) at 104289c6c938
Object
28
GuardSpecificFunction ← Constant#24, Constant#27
Object
29
Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
52
Constant object 104289c3f040 (LexicalEnvironment)
Object
53
Constant object 104289c3e030 (global)
Object
54
Constant function complex4 (-e:17) at 104289c6c890
Object
55
Constant undefined
Undefined
56
Constant 0x1
Int32
57
Constant function complex4 (-e:17) at 104289c6c890
Object
58
GuardSpecificFunction ← Constant#54, Constant#57
Object
59
Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
65
GuardShape ← NewPlainObject#61
Object
66
PostWriteBarrier ← GuardShape#65, Call#21
67
StoreFixedSlot ← GuardShape#65, Call#21 (slot 1)
68
GuardShape ← NewPlainObject#61
Object
69
PostWriteBarrier ← GuardShape#68, Call#29
70
StoreFixedSlot ← GuardShape#68, Call#29 (slot 2)
71
GuardShape ← NewPlainObject#61
Object
72
PostWriteBarrier ← GuardShape#71, Call#59
73
StoreFixedSlot ← GuardShape#71, Call#59 (slot 3)
74
Constant object 104289c3f040 (LexicalEnvironment)
Object
75
Constant object 104289c3e030 (global)
Object
76
Constant function complex5 (-e:21) at 104289c6c900
Object
77
Constant undefined
Undefined
78
Constant 0x1
Int32
79
Constant function complex5 (-e:21) at 104289c6c900
Object
80
GuardSpecificFunction ← Constant#76, Constant#79
Object
81
Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61
Value
82
Constant magic uninitialized-lexical
MagicUninitializedLexical
83
Constant 0x0
Int32
96
Goto → block 1
Block 1 (loop header)
84
Phi ← Constant#2, Constant#2
Value
85
Phi ← Constant#2, Constant#2
Value
86
Phi ← Parameter#0, Parameter#0
Value
87
Phi ← Parameter#1, Parameter#1
Value
88
Phi ← Call#13, Call#112
Value
89
Phi ← Call#21, BitOr#137
Value
90
Phi ← Call#29, Call#147
Value
91
Phi ← NewArrayObject#31, NewArrayObject#31
Value
92
Phi ← Call#59, Call#489
Value
93
Phi ← NewPlainObject#61, NewPlainObject#61
Value
94
Phi ← Call#81, Call#693
Value
95
Phi ← Constant#83, Add#698
Value
97
InterruptCheck
98
Constant 0xa
Int32
99
Unbox Phi#95 to Int32 (fallible)
Int32
100
Compare ← Unbox#99, Constant#98 Lt
Bool
101
Test ← Compare#100 → block 2, block 67
1
0
Block 2
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant function complex1 (-e:2) at 104289c6c8c8
Object
105
Constant undefined
Undefined
106
Unbox Phi#88 to Double (fallible)
Double
107
Unbox Phi#95 to Double (fallible)
Double
108
Add ← Unbox#106, Unbox#107 [double]
Double
109
Constant 0x1
Int32
110
Constant function complex1 (-e:2) at 104289c6c8c8
Object
111
GuardSpecificFunction ← Constant#104, Constant#110
Object
112
Call ← GuardSpecificFunction#111, Constant#105, Add#108
Value
113
Constant object 104289c3f040 (LexicalEnvironment)
Object
114
Constant object 104289c3e030 (global)
Object
115
Constant function complex2 (-e:7) at 104289c6c970
Object
116
Constant undefined
Undefined
117
Unbox Phi#89 to Int32 (fallible)
Int32
118
Unbox Phi#95 to Int32 (fallible)
Int32
119
Add ← Unbox#117, Unbox#118 [int32]
Int32
120
Constant 0x1
Int32
121
Constant function complex2 (-e:7) at 104289c6c970
Object
122
GuardSpecificFunction ← Constant#115, Constant#121
Object
123
Goto → block 3
Block 3
124
Constant undefined
Undefined
125
Constant 0x1
Int32
126
Lsh ← Add#119, Constant#125
Int32
127
Constant 0x1
Int32
128
Rsh ← Add#119, Constant#127
Int32
129
Constant 0xff
Int32
130
BitAnd ← Add#119, Constant#129
Int32
131
Constant 0x2
Int32
132
Ursh ← Add#119, Constant#131
Int32
133
Add ← BitAnd#130, Ursh#132 [int32]
Int32
134
BitNot ← Add#119
Int32
135
Sub ← Add#133, BitNot#134 [int32]
Int32
136
BitXor ← Rsh#128, Sub#135
Int32
137
BitOr ← Lsh#126, BitXor#136
Int32
139
Goto → block 4
Block 4
140
Constant object 104289c3f040 (LexicalEnvironment)
Object
141
Constant object 104289c3e030 (global)
Object
142
Constant function complex3 (-e:11) at 104289c6c938
Object
143
Constant undefined
Undefined
144
Constant 0x2
Int32
145
Constant function complex3 (-e:11) at 104289c6c938
Object
146
GuardSpecificFunction ← Constant#142, Constant#145
Object
147
Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112
Value
148
Constant object 104289c3f040 (LexicalEnvironment)
Object
149
Constant object 104289c3e030 (global)
Object
150
Constant function complex4 (-e:17) at 104289c6c890
Object
151
Constant undefined
Undefined
152
Constant shape at 104289c64f00
Shape
153
NewArrayObject ← Constant#152
Object
154
Constant 0x0
Int32
155
Elements ← NewArrayObject#153
Elements
156
PostWriteBarrier ← NewArrayObject#153, Call#112
157
StoreElement ← Elements#155, Constant#154, Call#112
158
SetInitializedLength ← Elements#155, Constant#154
159
Constant 0x1
Int32
160
Elements ← NewArrayObject#153
Elements
161
PostWriteBarrier ← NewArrayObject#153, BitOr#137
162
StoreElement ← Elements#160, Constant#159, BitOr#137
163
SetInitializedLength ← Elements#160, Constant#159
164
Constant 0x2
Int32
165
Elements ← NewArrayObject#153
Elements
166
PostWriteBarrier ← NewArrayObject#153, Call#147
167
StoreElement ← Elements#165, Constant#164, Call#147
168
SetInitializedLength ← Elements#165, Constant#164
169
Constant 0x3
Int32
170
Elements ← NewArrayObject#153
Elements
171
PostWriteBarrier ← NewArrayObject#153, Phi#95
172
StoreElement ← Elements#170, Constant#169, Phi#95
173
SetInitializedLength ← Elements#170, Constant#169
174
Constant 0x1
Int32
175
Constant function complex4 (-e:17) at 104289c6c890
Object
176
GuardSpecificFunction ← Constant#150, Constant#175
Object
177
Goto → block 5
Block 5
178
Constant undefined
Undefined
179
FunctionEnvironment ← GuardSpecificFunction#176
Object
180
GuardShape ← NewArrayObject#153
Object
181
Constant object 104289c3e088 (Array)
Object
182
Constant function map (self-hosted:163) at 104289c47920
Object
183
Constant function complex4/< (-e:18) at 104289c63d28
Object
184
Lambda ← FunctionEnvironment#179, Constant#183
Object
185
Constant 0x1
Int32
186
Constant function map (self-hosted:163) at 104289c47920
Object
187
GuardSpecificFunction ← Constant#182, Constant#186
Object
188
Goto → block 6
Block 6
189
Constant undefined
Undefined
190
Constant function ToObject at 104289c6c740
Object
191
DebugCheckSelfHosted ← Constant#190
Value
192
Constant undefined
Undefined
193
Constant 0x1
Int32
194
Constant function ToLength at 104289c6c778
Object
195
DebugCheckSelfHosted ← Constant#194
Value
196
Constant undefined
Undefined
197
GuardShape ← NewArrayObject#153
Object
198
Elements ← GuardShape#197
Elements
199
ArrayLength ← Elements#198
Int32
200
Constant 0x1
Int32
201
Constant 0x0
Int32
202
MinMax ← ArrayLength#199, Constant#201 (max)
Int32
203
Constant 0x1
Int32
204
Constant 0x0
Int32
205
Compare ← Constant#203, Constant#204 StrictEq
Bool
206
Test ← Compare#205 → block 7, block 8
1
0
Block 7
207
CallGetIntrinsicValue
Value
208
DebugCheckSelfHosted ← CallGetIntrinsicValue#207
Value
209
Constant undefined
Undefined
210
Constant 0x37
Int32
211
Constant 0x0
Int32
212
Constant string 104289c2e080
String
213
Bail
214
UnreachableResult
Value
215
Goto → block 8
Block 8
216
Constant function IsCallable at 104289c6c7b0
Object
217
DebugCheckSelfHosted ← Constant#216
Value
218
Constant undefined
Undefined
219
Constant 0x1
Int32
220
IsCallable ← Lambda#184
Bool
221
Test ← IsCallable#220 → block 10, block 9
1
0
Block 9
222
CallGetIntrinsicValue
Value
223
DebugCheckSelfHosted ← CallGetIntrinsicValue#222
Value
224
Constant undefined
Undefined
225
Constant 0xc
Int32
226
CallGetIntrinsicValue
Value
227
DebugCheckSelfHosted ← CallGetIntrinsicValue#226
Value
228
Constant undefined
Undefined
229
Constant 0x0
Int32
230
Bail
231
UnreachableResult
Value
232
Bail
233
UnreachableResult
Value
234
Goto → block 10
Block 10
235
Constant 0x1
Int32
236
Constant 0x1
Int32
237
Compare ← Constant#235, Constant#236 Gt
Bool
238
Test ← Compare#237 → block 11, block 12
1
0
Block 11
239
Constant 0x1
Int32
240
GetInlinedArgument ← Constant#239, Lambda#184
Value
241
Goto → block 13
Block 12
242
Constant undefined
Undefined
243
Goto → block 13
Block 13
244
Phi ← Constant#242, GetInlinedArgument#240
Value
245
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
246
DebugCheckSelfHosted ← Constant#245
Value
247
Constant undefined
Undefined
248
Constant 0x1
Int32
249
HasShape ← NewArrayObject#153
Bool
250
Test ← HasShape#249 → block 14, block 15
1
0
Block 14
251
Constant function std_Array at 104289c6c820
Object
252
DebugCheckSelfHosted ← Constant#251
Value
253
Constant undefined
Undefined
254
Constant 0x1
Int32
255
Unbox DebugCheckSelfHosted#252 to Object (fallible)
Object
256
Constant function std_Array at 104289c6c820
Object
257
GuardSpecificFunction ← Unbox#255, Constant#256
Object
258
NewArrayDynamicLength ← MinMax#202
Object
259
Goto → block 16
Block 15
260
CallGetIntrinsicValue
Value
261
DebugCheckSelfHosted ← CallGetIntrinsicValue#260
Value
262
Constant undefined
Undefined
263
Bail
264
UnreachableResult
Value
265
Goto → block 16
Block 16
266
Phi ← UnreachableResult#264, NewArrayDynamicLength#258
Value
267
Constant 0x0
Int32
279
Goto → block 17
Block 17 (loop header)
268
Phi ← Constant#189, Constant#189
Value
269
Phi ← Constant#189, Constant#189
Value
270
Phi ← NewArrayObject#153, NewArrayObject#153
Value
271
Phi ← Lambda#184, Lambda#184
Value
272
Phi ← NewArrayObject#153, NewArrayObject#153
Value
273
Phi ← MinMax#202, MinMax#202
Value
274
Phi ← Phi#244, Phi#244
Value
275
Phi ← Phi#266, Phi#266
Value
276
Phi ← Constant#267, Add#324
Value
277
Phi ← Constant#189, Phi#321
Value
278
Phi ← NewArrayObject#153, NewArrayObject#153
Value
280
InterruptCheck
281
Unbox Phi#276 to Int32 (fallible)
Int32
282
Unbox Phi#273 to Int32 (fallible)
Int32
283
Compare ← Unbox#281, Unbox#282 Lt
Bool
284
Test ← Compare#283 → block 18, block 23
1
0
Block 18
285
Unbox Phi#272 to Object (fallible)
Object
286
Unbox Phi#276 to Int32 (fallible)
Int32
287
GuardShape ← Unbox#285
Object
288
Elements ← GuardShape#287
Elements
289
InitializedLength ← Elements#288
Int32
290
BoundsCheck ← Unbox#286, InitializedLength#289
Int32
291
SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289
Int32
292
GuardElementNotHole ← Elements#288, SpectreMaskIndex#291
293
Constant true
Bool
294
Test ← Constant#293 → block 19, block 22
1
0
Block 19
295
Unbox Phi#272 to Object (fallible)
Object
296
Unbox Phi#276 to Int32 (fallible)
Int32
297
GuardShape ← Unbox#295
Object
298
Elements ← GuardShape#297
Elements
299
InitializedLength ← Elements#298
Int32
300
BoundsCheck ← Unbox#296, InitializedLength#299
Int32
301
SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299
Int32
302
GuardElementsArePacked ← Elements#298
303
LoadElement ← Elements#298, SpectreMaskIndex#301
Value
304
Constant 0x3
Int32
305
Unbox Phi#271 to Object (fallible)
Object
306
GuardToFunction ← Unbox#305
Object
307
GuardFunctionScript ← GuardToFunction#306
Object
308
Goto → block 20
Block 20
309
Constant undefined
Undefined
310
Constant 0x2
Int32
311
Unbox LoadElement#303 to Double (fallible)
Double
312
Mul ← Unbox#311, Constant#310 [double]
Double
314
Goto → block 21
Block 21
315
Unbox Phi#275 to Object (fallible)
Object
316
Unbox Phi#276 to Int32 (fallible)
Int32
317
GuardShape ← Unbox#315
Object
318
Elements ← GuardShape#317
Elements
319
StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312
320
Goto → block 22
Block 22 (backedge)
321
Phi ← Mul#312, Phi#277
Value
322
Unbox Phi#276 to Int32 (fallible)
Int32
323
Constant 0x1
Int32
324
Add ← Unbox#322, Constant#323 [int32]
Int32
325
Goto → block 17
Block 23
327
Goto → block 24
Block 24
328
Unbox Phi#275 to Object (fallible)
Object
329
GuardShape ← Unbox#328
Object
330
Constant object 104289c3e088 (Array)
Object
331
Constant function filter (self-hosted:183) at 104289c47970
Object
332
Constant function complex4/< (-e:18) at 104289c63d60
Object
333
Lambda ← FunctionEnvironment#179, Constant#332
Object
334
Constant 0x1
Int32
335
Constant function filter (self-hosted:183) at 104289c47970
Object
336
GuardSpecificFunction ← Constant#331, Constant#335
Object
337
Goto → block 25
Block 25
338
Constant undefined
Undefined
339
Constant function ToObject at 104289c6c740
Object
340
DebugCheckSelfHosted ← Constant#339
Value
341
Constant undefined
Undefined
342
Constant 0x1
Int32
343
Unbox Phi#275 to Object (fallible)
Object
344
Constant function ToLength at 104289c6c778
Object
345
DebugCheckSelfHosted ← Constant#344
Value
346
Constant undefined
Undefined
347
GuardShape ← Unbox#343
Object
348
Elements ← GuardShape#347
Elements
349
ArrayLength ← Elements#348
Int32
350
Constant 0x1
Int32
351
Constant 0x0
Int32
352
MinMax ← ArrayLength#349, Constant#351 (max)
Int32
353
Constant 0x1
Int32
354
Constant 0x0
Int32
355
Compare ← Constant#353, Constant#354 StrictEq
Bool
356
Test ← Compare#355 → block 26, block 27
1
0
Block 26
357
CallGetIntrinsicValue
Value
358
DebugCheckSelfHosted ← CallGetIntrinsicValue#357
Value
359
Constant undefined
Undefined
360
Constant 0x37
Int32
361
Constant 0x0
Int32
362
Constant string 104289c28540
String
363
Bail
364
UnreachableResult
Value
365
Goto → block 27
Block 27
366
Constant function IsCallable at 104289c6c7b0
Object
367
DebugCheckSelfHosted ← Constant#366
Value
368
Constant undefined
Undefined
369
Constant 0x1
Int32
370
IsCallable ← Lambda#333
Bool
371
Test ← IsCallable#370 → block 29, block 28
1
0
Block 28
372
CallGetIntrinsicValue
Value
373
DebugCheckSelfHosted ← CallGetIntrinsicValue#372
Value
374
Constant undefined
Undefined
375
Constant 0xc
Int32
376
CallGetIntrinsicValue
Value
377
DebugCheckSelfHosted ← CallGetIntrinsicValue#376
Value
378
Constant undefined
Undefined
379
Constant 0x0
Int32
380
Bail
381
UnreachableResult
Value
382
Bail
383
UnreachableResult
Value
384
Goto → block 29
Block 29
385
Constant 0x1
Int32
386
Constant 0x1
Int32
387
Compare ← Constant#385, Constant#386 Gt
Bool
388
Test ← Compare#387 → block 30, block 31
1
0
Block 30
389
Constant 0x1
Int32
390
GetInlinedArgument ← Constant#389, Lambda#333
Value
391
Goto → block 32
Block 31
392
Constant undefined
Undefined
393
Goto → block 32
Block 32
394
Phi ← Constant#392, GetInlinedArgument#390
Value
395
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
396
DebugCheckSelfHosted ← Constant#395
Value
397
Constant undefined
Undefined
398
Constant 0x1
Int32
399
HasShape ← Unbox#343
Bool
400
Test ← HasShape#399 → block 33, block 34
1
0
Block 33
401
Constant shape at 104289c64f00
Shape
402
NewArrayObject ← Constant#401
Object
403
Goto → block 35
Block 34
404
CallGetIntrinsicValue
Value
405
DebugCheckSelfHosted ← CallGetIntrinsicValue#404
Value
406
Constant undefined
Undefined
407
Constant 0x0
Int32
408
Bail
409
UnreachableResult
Value
410
Goto → block 35
Block 35
411
Phi ← UnreachableResult#409, NewArrayObject#402
Value
412
Constant 0x0
Int32
413
Constant 0x0
Int32
426
Goto → block 36
Block 36 (loop header)
414
Phi ← Constant#338, Constant#338
Value
415
Phi ← Constant#338, Constant#338
Value
416
Phi ← Phi#275, Phi#275
Value
417
Phi ← Lambda#333, Lambda#333
Value
418
Phi ← Unbox#343, Unbox#343
Value
419
Phi ← MinMax#352, MinMax#352
Value
420
Phi ← Phi#394, Phi#394
Value
421
Phi ← Phi#411, Phi#411
Value
422
Phi ← Constant#412, Add#475
Value
423
Phi ← Constant#413, Phi#471
Value
424
Phi ← Constant#338, Phi#472
Value
425
Phi ← Phi#275, Phi#275
Value
427
InterruptCheck
428
Unbox Phi#422 to Int32 (fallible)
Int32
429
Unbox Phi#419 to Int32 (fallible)
Int32
430
Compare ← Unbox#428, Unbox#429 Lt
Bool
431
Test ← Compare#430 → block 37, block 43
1
0
Block 37
432
Unbox Phi#418 to Object (fallible)
Object
433
Unbox Phi#422 to Int32 (fallible)
Int32
434
GuardShape ← Unbox#432
Object
435
Elements ← GuardShape#434
Elements
436
InitializedLength ← Elements#435
Int32
437
BoundsCheck ← Unbox#433, InitializedLength#436
Int32
438
SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436
Int32
439
GuardElementNotHole ← Elements#435, SpectreMaskIndex#438
440
Constant true
Bool
441
Test ← Constant#440 → block 38, block 42
1
0
Block 38
442
Unbox Phi#418 to Object (fallible)
Object
443
Unbox Phi#422 to Int32 (fallible)
Int32
444
GuardShape ← Unbox#442
Object
445
Elements ← GuardShape#444
Elements
446
InitializedLength ← Elements#445
Int32
447
BoundsCheck ← Unbox#443, InitializedLength#446
Int32
448
SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446
Int32
449
GuardElementsArePacked ← Elements#445
450
LoadElement ← Elements#445, SpectreMaskIndex#448
Value
451
Constant 0x3
Int32
452
Unbox Phi#417 to Object (fallible)
Object
453
GuardToFunction ← Unbox#452
Object
454
GuardFunctionScript ← GuardToFunction#453
Object
455
Goto → block 39
Block 39
456
Constant undefined
Undefined
457
Constant 0x32
Int32
458
Unbox LoadElement#450 to Double (fallible)
Double
459
Compare ← Unbox#458, Constant#457 Gt
Bool
461
Goto → block 40
Block 40
462
Test ← Compare#459 → block 41, block 42
1
0
Block 41
463
Unbox Phi#423 to Int32 (fallible)
Int32
464
Constant 0x1
Int32
465
Add ← Unbox#463, Constant#464 [int32]
Int32
466
Unbox Phi#421 to Object (fallible)
Object
467
GuardShape ← Unbox#466
Object
468
Elements ← GuardShape#467
Elements
469
StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450
470
Goto → block 42
Block 42 (backedge)
471
Phi ← Add#465, Phi#423, Phi#423
Value
472
Phi ← LoadElement#450, Phi#424, LoadElement#450
Value
473
Unbox Phi#422 to Int32 (fallible)
Int32
474
Constant 0x1
Int32
475
Add ← Unbox#473, Constant#474 [int32]
Int32
476
Goto → block 36
Block 43
478
Goto → block 44
Block 44
479
Unbox Phi#421 to Object (fallible)
Object
480
GuardShape ← Unbox#479
Object
481
Constant object 104289c3e088 (Array)
Object
482
Constant function reduce (self-hosted:205) at 104289c479c0
Object
483
Constant function complex4/< (-e:18) at 104289c63d98
Object
484
Lambda ← FunctionEnvironment#179, Constant#483
Object
485
Constant 0x0
Int32
486
Constant 0x2
Int32
487
Constant function reduce (self-hosted:205) at 104289c479c0
Object
488
GuardSpecificFunction ← Constant#482, Constant#487
Object
489
Call ← GuardSpecificFunction#488, Phi#421, Lambda#484, Constant#485
Value
491
Goto → block 45
Block 45
492
Constant object 104289c3f040 (LexicalEnvironment)
Object
493
Constant object 104289c3e030 (global)
Object
494
Constant function complex5 (-e:21) at 104289c6c900
Object
495
Constant undefined
Undefined
496
Constant shape at 104289c64fc0
Shape
497
NewPlainObject ← Constant#496
Object
498
GuardShape ← NewPlainObject#497
Object
499
PostWriteBarrier ← GuardShape#498, Call#112
500
StoreFixedSlot ← GuardShape#498, Call#112 (slot 0)
501
GuardShape ← NewPlainObject#497
Object
502
PostWriteBarrier ← GuardShape#501, BitOr#137
503
StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1)
504
GuardShape ← NewPlainObject#497
Object
505
PostWriteBarrier ← GuardShape#504, Call#147
506
StoreFixedSlot ← GuardShape#504, Call#147 (slot 2)
507
Constant 0x1
Int32
508
Constant function complex5 (-e:21) at 104289c6c900
Object
509
GuardSpecificFunction ← Constant#494, Constant#508
Object
510
Goto → block 46
Block 46
511
Constant undefined
Undefined
512
FunctionEnvironment ← GuardSpecificFunction#509
Object
513
Constant object 104289c3f078 (Call)
Object
514
NewCallObject ← Constant#513
Object
515
AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512
516
AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509
517
StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0)
518
StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1)
519
PostWriteBarrier ← NewCallObject#514, NewPlainObject#497
520
StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2)
521
Constant object 104289c3f040 (LexicalEnvironment)
Object
522
Constant object 104289c3e030 (global)
Object
523
Constant function Object at 104289c422e0
Object
524
Constant function Object at 104289c422e0
Object
525
GuardObjectIdentity ← Constant#523, Constant#524
Object
526
Constant function keys at 104289c42468
Object
527
LoadFixedSlot ← NewCallObject#514 (slot 2)
Value
528
Constant 0x1
Int32
529
Constant function keys at 104289c42468
Object
530
GuardSpecificFunction ← Constant#526, Constant#529
Object
531
Unbox LoadFixedSlot#527 to Object (fallible)
Object
532
GuardIsNotProxy ← Unbox#531
Object
533
ObjectKeys ← GuardIsNotProxy#532
Object
534
GuardShape ← ObjectKeys#533
Object
535
Constant object 104289c3e088 (Array)
Object
536
Constant function map (self-hosted:163) at 104289c47920
Object
537
Constant function complex5/< (-e:22) at 104289c63e08
Object
538
Lambda ← NewCallObject#514, Constant#537
Object
539
Constant 0x1
Int32
540
Constant function map (self-hosted:163) at 104289c47920
Object
541
GuardSpecificFunction ← Constant#536, Constant#540
Object
542
Goto → block 47
Block 47
543
Constant undefined
Undefined
544
Constant function ToObject at 104289c6c740
Object
545
DebugCheckSelfHosted ← Constant#544
Value
546
Constant undefined
Undefined
547
Constant 0x1
Int32
548
Constant function ToLength at 104289c6c778
Object
549
DebugCheckSelfHosted ← Constant#548
Value
550
Constant undefined
Undefined
551
GuardShape ← ObjectKeys#533
Object
552
Elements ← GuardShape#551
Elements
553
ArrayLength ← Elements#552
Int32
554
Constant 0x1
Int32
555
Constant 0x0
Int32
556
MinMax ← ArrayLength#553, Constant#555 (max)
Int32
557
Constant 0x1
Int32
558
Constant 0x0
Int32
559
Compare ← Constant#557, Constant#558 StrictEq
Bool
560
Test ← Compare#559 → block 48, block 49
1
0
Block 48
561
CallGetIntrinsicValue
Value
562
DebugCheckSelfHosted ← CallGetIntrinsicValue#561
Value
563
Constant undefined
Undefined
564
Constant 0x37
Int32
565
Constant 0x0
Int32
566
Constant string 104289c2e080
String
567
Bail
568
UnreachableResult
Value
569
Goto → block 49
Block 49
570
Constant function IsCallable at 104289c6c7b0
Object
571
DebugCheckSelfHosted ← Constant#570
Value
572
Constant undefined
Undefined
573
Constant 0x1
Int32
574
IsCallable ← Lambda#538
Bool
575
Test ← IsCallable#574 → block 51, block 50
1
0
Block 50
576
CallGetIntrinsicValue
Value
577
DebugCheckSelfHosted ← CallGetIntrinsicValue#576
Value
578
Constant undefined
Undefined
579
Constant 0xc
Int32
580
CallGetIntrinsicValue
Value
581
DebugCheckSelfHosted ← CallGetIntrinsicValue#580
Value
582
Constant undefined
Undefined
583
Constant 0x0
Int32
584
Bail
585
UnreachableResult
Value
586
Bail
587
UnreachableResult
Value
588
Goto → block 51
Block 51
589
Constant 0x1
Int32
590
Constant 0x1
Int32
591
Compare ← Constant#589, Constant#590 Gt
Bool
592
Test ← Compare#591 → block 52, block 53
1
0
Block 52
593
Constant 0x1
Int32
594
GetInlinedArgument ← Constant#593, Lambda#538
Value
595
Goto → block 54
Block 53
596
Constant undefined
Undefined
597
Goto → block 54
Block 54
598
Phi ← Constant#596, GetInlinedArgument#594
Value
599
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
600
DebugCheckSelfHosted ← Constant#599
Value
601
Constant undefined
Undefined
602
Constant 0x1
Int32
603
HasShape ← ObjectKeys#533
Bool
604
Test ← HasShape#603 → block 55, block 56
1
0
Block 55
605
Constant function std_Array at 104289c6c820
Object
606
DebugCheckSelfHosted ← Constant#605
Value
607
Constant undefined
Undefined
608
Constant 0x1
Int32
609
Unbox DebugCheckSelfHosted#606 to Object (fallible)
Object
610
Constant function std_Array at 104289c6c820
Object
611
GuardSpecificFunction ← Unbox#609, Constant#610
Object
612
NewArrayDynamicLength ← MinMax#556
Object
613
Goto → block 57
Block 56
614
CallGetIntrinsicValue
Value
615
DebugCheckSelfHosted ← CallGetIntrinsicValue#614
Value
616
Constant undefined
Undefined
617
Bail
618
UnreachableResult
Value
619
Goto → block 57
Block 57
620
Phi ← UnreachableResult#618, NewArrayDynamicLength#612
Value
621
Constant 0x0
Int32
633
Goto → block 58
Block 58 (loop header)
622
Phi ← Constant#543, Constant#543
Value
623
Phi ← Constant#543, Constant#543
Value
624
Phi ← ObjectKeys#533, ObjectKeys#533
Value
625
Phi ← Lambda#538, Lambda#538
Value
626
Phi ← ObjectKeys#533, ObjectKeys#533
Value
627
Phi ← MinMax#556, MinMax#556
Value
628
Phi ← Phi#598, Phi#598
Value
629
Phi ← Phi#620, Phi#620
Value
630
Phi ← Constant#621, Add#679
Value
631
Phi ← Constant#543, Phi#676
Value
632
Phi ← ObjectKeys#533, ObjectKeys#533
Value
634
InterruptCheck
635
Unbox Phi#630 to Int32 (fallible)
Int32
636
Unbox Phi#627 to Int32 (fallible)
Int32
637
Compare ← Unbox#635, Unbox#636 Lt
Bool
638
Test ← Compare#637 → block 59, block 64
1
0
Block 59
639
Unbox Phi#626 to Object (fallible)
Object
640
Unbox Phi#630 to Int32 (fallible)
Int32
641
GuardShape ← Unbox#639
Object
642
Elements ← GuardShape#641
Elements
643
InitializedLength ← Elements#642
Int32
644
BoundsCheck ← Unbox#640, InitializedLength#643
Int32
645
SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643
Int32
646
GuardElementNotHole ← Elements#642, SpectreMaskIndex#645
647
Constant true
Bool
648
Test ← Constant#647 → block 60, block 63
1
0
Block 60
649
Unbox Phi#626 to Object (fallible)
Object
650
Unbox Phi#630 to Int32 (fallible)
Int32
651
GuardShape ← Unbox#649
Object
652
Elements ← GuardShape#651
Elements
653
InitializedLength ← Elements#652
Int32
654
BoundsCheck ← Unbox#650, InitializedLength#653
Int32
655
SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653
Int32
656
GuardElementsArePacked ← Elements#652
657
LoadElement ← Elements#652, SpectreMaskIndex#655
Value
658
Constant 0x3
Int32
659
Unbox Phi#625 to Object (fallible)
Object
660
GuardToFunction ← Unbox#659
Object
661
GuardFunctionScript ← GuardToFunction#660
Object
662
Goto → block 61
Block 61
663
Constant undefined
Undefined
664
FunctionEnvironment ← GuardFunctionScript#661
Object
665
LoadFixedSlot ← FunctionEnvironment#664 (slot 2)
Value
666
Unbox LoadFixedSlot#665 to Object (fallible)
Object
667
MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657
Value
669
Goto → block 62
Block 62
670
Unbox Phi#629 to Object (fallible)
Object
671
Unbox Phi#630 to Int32 (fallible)
Int32
672
GuardShape ← Unbox#670
Object
673
Elements ← GuardShape#672
Elements
674
StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667
675
Goto → block 63
Block 63 (backedge)
676
Phi ← MegamorphicLoadSlotByValue#667, Phi#631
Value
677
Unbox Phi#630 to Int32 (fallible)
Int32
678
Constant 0x1
Int32
679
Add ← Unbox#677, Constant#678 [int32]
Int32
680
Goto → block 58
Block 64
682
Goto → block 65
Block 65
683
Unbox Phi#629 to Object (fallible)
Object
684
GuardShape ← Unbox#683
Object
685
Constant object 104289c3e088 (Array)
Object
686
Constant function reduce (self-hosted:205) at 104289c479c0
Object
687
Constant function complex5/< (-e:22) at 104289c63e40
Object
688
Lambda ← NewCallObject#514, Constant#687
Object
689
Constant 0x0
Int32
690
Constant 0x2
Int32
691
Constant function reduce (self-hosted:205) at 104289c479c0
Object
692
GuardSpecificFunction ← Constant#686, Constant#691
Object
693
Call ← GuardSpecificFunction#692, Phi#629, Lambda#688, Constant#689
Value
695
Goto → block 66
Block 66 (backedge)
696
Unbox Phi#95 to Int32 (fallible)
Int32
697
Constant 0x1
Int32
698
Add ← Unbox#696, Constant#697 [int32]
Int32
699
Goto → block 1
Block 67
700
Unbox Phi#88 to Double (fallible)
Double
701
Unbox Phi#89 to Double (fallible)
Double
702
Add ← Unbox#700, Unbox#701 [double]
Double
703
Unbox Phi#90 to Double (fallible)
Double
704
Add ← Add#702, Unbox#703 [double]
Double
705
Unbox Phi#92 to Double (fallible)
Double
706
Add ← Add#704, Unbox#705 [double]
Double
707
Unbox Phi#94 to Double (fallible)
Double
708
Add ← Add#706, Unbox#707 [double]
Double
709
Return ← Add#708
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant object 104289c3f040 (LexicalEnvironment)
Object
7
Constant object 104289c3e030 (global)
Object
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
9
Constant undefined
Undefined
10
Constant 0x1
Int32
11
Constant function complex1 (-e:2) at 104289c6c8c8
Object
12
GuardSpecificFunction ← Constant#8, Constant#11
Object
13
Call ← GuardSpecificFunction#12, Constant#9, Parameter#1
Value
14
Constant object 104289c3f040 (LexicalEnvironment)
Object
15
Constant object 104289c3e030 (global)
Object
16
Constant function complex2 (-e:7) at 104289c6c970
Object
17
Constant undefined
Undefined
18
Constant 0x1
Int32
19
Constant function complex2 (-e:7) at 104289c6c970
Object
20
GuardSpecificFunction ← Constant#16, Constant#19
Object
21
Call ← GuardSpecificFunction#20, Constant#17, Parameter#1
Value
22
Constant object 104289c3f040 (LexicalEnvironment)
Object
23
Constant object 104289c3e030 (global)
Object
24
Constant function complex3 (-e:11) at 104289c6c938
Object
25
Constant undefined
Undefined
26
Constant 0x2
Int32
27
Constant function complex3 (-e:11) at 104289c6c938
Object
28
GuardSpecificFunction ← Constant#24, Constant#27
Object
29
Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
52
Constant object 104289c3f040 (LexicalEnvironment)
Object
53
Constant object 104289c3e030 (global)
Object
54
Constant function complex4 (-e:17) at 104289c6c890
Object
55
Constant undefined
Undefined
56
Constant 0x1
Int32
57
Constant function complex4 (-e:17) at 104289c6c890
Object
58
GuardSpecificFunction ← Constant#54, Constant#57
Object
59
Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
65
GuardShape ← NewPlainObject#61
Object
66
PostWriteBarrier ← GuardShape#65, Call#21
67
StoreFixedSlot ← GuardShape#65, Call#21 (slot 1)
68
GuardShape ← NewPlainObject#61
Object
69
PostWriteBarrier ← GuardShape#68, Call#29
70
StoreFixedSlot ← GuardShape#68, Call#29 (slot 2)
71
GuardShape ← NewPlainObject#61
Object
72
PostWriteBarrier ← GuardShape#71, Call#59
73
StoreFixedSlot ← GuardShape#71, Call#59 (slot 3)
74
Constant object 104289c3f040 (LexicalEnvironment)
Object
75
Constant object 104289c3e030 (global)
Object
76
Constant function complex5 (-e:21) at 104289c6c900
Object
77
Constant undefined
Undefined
78
Constant 0x1
Int32
79
Constant function complex5 (-e:21) at 104289c6c900
Object
80
GuardSpecificFunction ← Constant#76, Constant#79
Object
81
Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61
Value
82
Constant magic uninitialized-lexical
MagicUninitializedLexical
83
Constant 0x0
Int32
96
Goto → block 1
Block 1 (loop header)
84
Phi ← Constant#2, Constant#2
Value
85
Phi ← Constant#2, Constant#2
Value
86
Phi ← Parameter#0, Parameter#0
Value
87
Phi ← Parameter#1, Parameter#1
Value
88
Phi ← Call#13, Call#112
Value
89
Phi ← Call#21, BitOr#137
Value
90
Phi ← Call#29, Call#147
Value
91
Phi ← NewArrayObject#31, NewArrayObject#31
Value
92
Phi ← Call#59, Call#489
Value
93
Phi ← NewPlainObject#61, NewPlainObject#61
Value
94
Phi ← Call#81, Call#693
Value
95
Phi ← Constant#83, Add#698
Value
97
InterruptCheck
98
Constant 0xa
Int32
99
Unbox Phi#95 to Int32 (fallible)
Int32
100
Compare ← Unbox#99, Constant#98 Lt
Bool
101
Test ← Compare#100 → block 2, block 67
1
0
Block 2
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant function complex1 (-e:2) at 104289c6c8c8
Object
105
Constant undefined
Undefined
106
Unbox Phi#88 to Double (fallible)
Double
107
Unbox Phi#95 to Double (fallible)
Double
108
Add ← Unbox#106, Unbox#107 [double]
Double
109
Constant 0x1
Int32
110
Constant function complex1 (-e:2) at 104289c6c8c8
Object
111
GuardSpecificFunction ← Constant#104, Constant#110
Object
112
Call ← GuardSpecificFunction#111, Constant#105, Add#108
Value
113
Constant object 104289c3f040 (LexicalEnvironment)
Object
114
Constant object 104289c3e030 (global)
Object
115
Constant function complex2 (-e:7) at 104289c6c970
Object
116
Constant undefined
Undefined
117
Unbox Phi#89 to Int32 (fallible)
Int32
118
Unbox Phi#95 to Int32 (fallible)
Int32
119
Add ← Unbox#117, Unbox#118 [int32]
Int32
120
Constant 0x1
Int32
121
Constant function complex2 (-e:7) at 104289c6c970
Object
122
GuardSpecificFunction ← Constant#115, Constant#121
Object
123
Goto → block 3
Block 3
124
Constant undefined
Undefined
125
Constant 0x1
Int32
126
Lsh ← Add#119, Constant#125
Int32
127
Constant 0x1
Int32
128
Rsh ← Add#119, Constant#127
Int32
129
Constant 0xff
Int32
130
BitAnd ← Add#119, Constant#129
Int32
131
Constant 0x2
Int32
132
Ursh ← Add#119, Constant#131
Int32
133
Add ← BitAnd#130, Ursh#132 [int32]
Int32
134
BitNot ← Add#119
Int32
135
Sub ← Add#133, BitNot#134 [int32]
Int32
136
BitXor ← Rsh#128, Sub#135
Int32
137
BitOr ← Lsh#126, BitXor#136
Int32
139
Goto → block 4
Block 4
140
Constant object 104289c3f040 (LexicalEnvironment)
Object
141
Constant object 104289c3e030 (global)
Object
142
Constant function complex3 (-e:11) at 104289c6c938
Object
143
Constant undefined
Undefined
144
Constant 0x2
Int32
145
Constant function complex3 (-e:11) at 104289c6c938
Object
146
GuardSpecificFunction ← Constant#142, Constant#145
Object
147
Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112
Value
148
Constant object 104289c3f040 (LexicalEnvironment)
Object
149
Constant object 104289c3e030 (global)
Object
150
Constant function complex4 (-e:17) at 104289c6c890
Object
151
Constant undefined
Undefined
152
Constant shape at 104289c64f00
Shape
153
NewArrayObject ← Constant#152
Object
154
Constant 0x0
Int32
155
Elements ← NewArrayObject#153
Elements
156
PostWriteBarrier ← NewArrayObject#153, Call#112
157
StoreElement ← Elements#155, Constant#154, Call#112
158
SetInitializedLength ← Elements#155, Constant#154
159
Constant 0x1
Int32
160
Elements ← NewArrayObject#153
Elements
161
PostWriteBarrier ← NewArrayObject#153, BitOr#137
162
StoreElement ← Elements#160, Constant#159, BitOr#137
163
SetInitializedLength ← Elements#160, Constant#159
164
Constant 0x2
Int32
165
Elements ← NewArrayObject#153
Elements
166
PostWriteBarrier ← NewArrayObject#153, Call#147
167
StoreElement ← Elements#165, Constant#164, Call#147
168
SetInitializedLength ← Elements#165, Constant#164
169
Constant 0x3
Int32
170
Elements ← NewArrayObject#153
Elements
171
PostWriteBarrier ← NewArrayObject#153, Phi#95
172
StoreElement ← Elements#170, Constant#169, Phi#95
173
SetInitializedLength ← Elements#170, Constant#169
174
Constant 0x1
Int32
175
Constant function complex4 (-e:17) at 104289c6c890
Object
176
GuardSpecificFunction ← Constant#150, Constant#175
Object
177
Goto → block 5
Block 5
178
Constant undefined
Undefined
179
FunctionEnvironment ← GuardSpecificFunction#176
Object
180
GuardShape ← NewArrayObject#153
Object
181
Constant object 104289c3e088 (Array)
Object
182
Constant function map (self-hosted:163) at 104289c47920
Object
183
Constant function complex4/< (-e:18) at 104289c63d28
Object
184
Lambda ← FunctionEnvironment#179, Constant#183
Object
185
Constant 0x1
Int32
186
Constant function map (self-hosted:163) at 104289c47920
Object
187
GuardSpecificFunction ← Constant#182, Constant#186
Object
188
Goto → block 6
Block 6
189
Constant undefined
Undefined
190
Constant function ToObject at 104289c6c740
Object
191
DebugCheckSelfHosted ← Constant#190
Value
192
Constant undefined
Undefined
193
Constant 0x1
Int32
194
Constant function ToLength at 104289c6c778
Object
195
DebugCheckSelfHosted ← Constant#194
Value
196
Constant undefined
Undefined
197
GuardShape ← NewArrayObject#153
Object
198
Elements ← GuardShape#197
Elements
199
ArrayLength ← Elements#198
Int32
200
Constant 0x1
Int32
201
Constant 0x0
Int32
202
MinMax ← ArrayLength#199, Constant#201 (max)
Int32
203
Constant 0x1
Int32
204
Constant 0x0
Int32
205
Compare ← Constant#203, Constant#204 StrictEq
Bool
206
Test ← Compare#205 → block 7, block 8
1
0
Block 7
207
CallGetIntrinsicValue
Value
208
DebugCheckSelfHosted ← CallGetIntrinsicValue#207
Value
209
Constant undefined
Undefined
210
Constant 0x37
Int32
211
Constant 0x0
Int32
212
Constant string 104289c2e080
String
213
Bail
718
Unreachable
Block 8
216
Constant function IsCallable at 104289c6c7b0
Object
217
DebugCheckSelfHosted ← Constant#216
Value
218
Constant undefined
Undefined
219
Constant 0x1
Int32
220
IsCallable ← Lambda#184
Bool
221
Test ← IsCallable#220 → block 10, block 9
1
0
Block 9
222
CallGetIntrinsicValue
Value
223
DebugCheckSelfHosted ← CallGetIntrinsicValue#222
Value
224
Constant undefined
Undefined
225
Constant 0xc
Int32
226
CallGetIntrinsicValue
Value
227
DebugCheckSelfHosted ← CallGetIntrinsicValue#226
Value
228
Constant undefined
Undefined
229
Constant 0x0
Int32
230
Bail
717
Unreachable
Block 10
235
Constant 0x1
Int32
236
Constant 0x1
Int32
237
Compare ← Constant#235, Constant#236 Gt
Bool
238
Test ← Compare#237 → block 11, block 12
1
0
Block 11
239
Constant 0x1
Int32
240
GetInlinedArgument ← Constant#239, Lambda#184
Value
241
Goto → block 13
Block 12
242
Constant undefined
Undefined
243
Goto → block 13
Block 13
244
Phi ← Constant#242, GetInlinedArgument#240
Value
245
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
246
DebugCheckSelfHosted ← Constant#245
Value
247
Constant undefined
Undefined
248
Constant 0x1
Int32
249
HasShape ← NewArrayObject#153
Bool
250
Test ← HasShape#249 → block 14, block 15
1
0
Block 14
251
Constant function std_Array at 104289c6c820
Object
252
DebugCheckSelfHosted ← Constant#251
Value
253
Constant undefined
Undefined
254
Constant 0x1
Int32
255
Unbox DebugCheckSelfHosted#252 to Object (fallible)
Object
256
Constant function std_Array at 104289c6c820
Object
257
GuardSpecificFunction ← Unbox#255, Constant#256
Object
258
NewArrayDynamicLength ← MinMax#202
Object
259
Goto → block 16
Block 15
260
CallGetIntrinsicValue
Value
261
DebugCheckSelfHosted ← CallGetIntrinsicValue#260
Value
262
Constant undefined
Undefined
263
Bail
716
Unreachable
Block 16
266
Phi ← NewArrayDynamicLength#258
Value
267
Constant 0x0
Int32
279
Goto → block 17
Block 17 (loop header)
268
Phi ← Constant#189, Constant#189
Value
269
Phi ← Constant#189, Constant#189
Value
270
Phi ← NewArrayObject#153, NewArrayObject#153
Value
271
Phi ← Lambda#184, Lambda#184
Value
272
Phi ← NewArrayObject#153, NewArrayObject#153
Value
273
Phi ← MinMax#202, MinMax#202
Value
274
Phi ← Phi#244, Phi#244
Value
275
Phi ← Phi#266, Phi#266
Value
276
Phi ← Constant#267, Add#324
Value
277
Phi ← Constant#189, Phi#321
Value
278
Phi ← NewArrayObject#153, NewArrayObject#153
Value
280
InterruptCheck
281
Unbox Phi#276 to Int32 (fallible)
Int32
282
Unbox Phi#273 to Int32 (fallible)
Int32
283
Compare ← Unbox#281, Unbox#282 Lt
Bool
284
Test ← Compare#283 → block 18, block 23
1
0
Block 18
285
Unbox Phi#272 to Object (fallible)
Object
286
Unbox Phi#276 to Int32 (fallible)
Int32
287
GuardShape ← Unbox#285
Object
288
Elements ← GuardShape#287
Elements
289
InitializedLength ← Elements#288
Int32
290
BoundsCheck ← Unbox#286, InitializedLength#289
Int32
291
SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289
Int32
292
GuardElementNotHole ← Elements#288, SpectreMaskIndex#291
293
Constant true
Bool
294
Test ← Constant#293 → block 19, block 22
1
0
Block 19
295
Unbox Phi#272 to Object (fallible)
Object
296
Unbox Phi#276 to Int32 (fallible)
Int32
297
GuardShape ← Unbox#295
Object
298
Elements ← GuardShape#297
Elements
299
InitializedLength ← Elements#298
Int32
300
BoundsCheck ← Unbox#296, InitializedLength#299
Int32
301
SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299
Int32
302
GuardElementsArePacked ← Elements#298
303
LoadElement ← Elements#298, SpectreMaskIndex#301
Value
304
Constant 0x3
Int32
305
Unbox Phi#271 to Object (fallible)
Object
306
GuardToFunction ← Unbox#305
Object
307
GuardFunctionScript ← GuardToFunction#306
Object
308
Goto → block 20
Block 20
309
Constant undefined
Undefined
310
Constant 0x2
Int32
311
Unbox LoadElement#303 to Double (fallible)
Double
312
Mul ← Unbox#311, Constant#310 [double]
Double
314
Goto → block 21
Block 21
315
Unbox Phi#275 to Object (fallible)
Object
316
Unbox Phi#276 to Int32 (fallible)
Int32
317
GuardShape ← Unbox#315
Object
318
Elements ← GuardShape#317
Elements
319
StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312
320
Goto → block 22
Block 22 (backedge)
321
Phi ← Mul#312, Phi#277
Value
322
Unbox Phi#276 to Int32 (fallible)
Int32
323
Constant 0x1
Int32
324
Add ← Unbox#322, Constant#323 [int32]
Int32
325
Goto → block 17
Block 23
327
Goto → block 24
Block 24
328
Unbox Phi#275 to Object (fallible)
Object
329
GuardShape ← Unbox#328
Object
330
Constant object 104289c3e088 (Array)
Object
331
Constant function filter (self-hosted:183) at 104289c47970
Object
332
Constant function complex4/< (-e:18) at 104289c63d60
Object
333
Lambda ← FunctionEnvironment#179, Constant#332
Object
334
Constant 0x1
Int32
335
Constant function filter (self-hosted:183) at 104289c47970
Object
336
GuardSpecificFunction ← Constant#331, Constant#335
Object
337
Goto → block 25
Block 25
338
Constant undefined
Undefined
339
Constant function ToObject at 104289c6c740
Object
340
DebugCheckSelfHosted ← Constant#339
Value
341
Constant undefined
Undefined
342
Constant 0x1
Int32
343
Unbox Phi#275 to Object (fallible)
Object
344
Constant function ToLength at 104289c6c778
Object
345
DebugCheckSelfHosted ← Constant#344
Value
346
Constant undefined
Undefined
347
GuardShape ← Unbox#343
Object
348
Elements ← GuardShape#347
Elements
349
ArrayLength ← Elements#348
Int32
350
Constant 0x1
Int32
351
Constant 0x0
Int32
352
MinMax ← ArrayLength#349, Constant#351 (max)
Int32
353
Constant 0x1
Int32
354
Constant 0x0
Int32
355
Compare ← Constant#353, Constant#354 StrictEq
Bool
356
Test ← Compare#355 → block 26, block 27
1
0
Block 26
357
CallGetIntrinsicValue
Value
358
DebugCheckSelfHosted ← CallGetIntrinsicValue#357
Value
359
Constant undefined
Undefined
360
Constant 0x37
Int32
361
Constant 0x0
Int32
362
Constant string 104289c28540
String
363
Bail
715
Unreachable
Block 27
366
Constant function IsCallable at 104289c6c7b0
Object
367
DebugCheckSelfHosted ← Constant#366
Value
368
Constant undefined
Undefined
369
Constant 0x1
Int32
370
IsCallable ← Lambda#333
Bool
371
Test ← IsCallable#370 → block 29, block 28
1
0
Block 28
372
CallGetIntrinsicValue
Value
373
DebugCheckSelfHosted ← CallGetIntrinsicValue#372
Value
374
Constant undefined
Undefined
375
Constant 0xc
Int32
376
CallGetIntrinsicValue
Value
377
DebugCheckSelfHosted ← CallGetIntrinsicValue#376
Value
378
Constant undefined
Undefined
379
Constant 0x0
Int32
380
Bail
714
Unreachable
Block 29
385
Constant 0x1
Int32
386
Constant 0x1
Int32
387
Compare ← Constant#385, Constant#386 Gt
Bool
388
Test ← Compare#387 → block 30, block 31
1
0
Block 30
389
Constant 0x1
Int32
390
GetInlinedArgument ← Constant#389, Lambda#333
Value
391
Goto → block 32
Block 31
392
Constant undefined
Undefined
393
Goto → block 32
Block 32
394
Phi ← Constant#392, GetInlinedArgument#390
Value
395
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
396
DebugCheckSelfHosted ← Constant#395
Value
397
Constant undefined
Undefined
398
Constant 0x1
Int32
399
HasShape ← Unbox#343
Bool
400
Test ← HasShape#399 → block 33, block 34
1
0
Block 33
401
Constant shape at 104289c64f00
Shape
402
NewArrayObject ← Constant#401
Object
403
Goto → block 35
Block 34
404
CallGetIntrinsicValue
Value
405
DebugCheckSelfHosted ← CallGetIntrinsicValue#404
Value
406
Constant undefined
Undefined
407
Constant 0x0
Int32
408
Bail
713
Unreachable
Block 35
411
Phi ← NewArrayObject#402
Value
412
Constant 0x0
Int32
413
Constant 0x0
Int32
426
Goto → block 36
Block 36 (loop header)
414
Phi ← Constant#338, Constant#338
Value
415
Phi ← Constant#338, Constant#338
Value
416
Phi ← Phi#275, Phi#275
Value
417
Phi ← Lambda#333, Lambda#333
Value
418
Phi ← Unbox#343, Unbox#343
Value
419
Phi ← MinMax#352, MinMax#352
Value
420
Phi ← Phi#394, Phi#394
Value
421
Phi ← Phi#411, Phi#411
Value
422
Phi ← Constant#412, Add#475
Value
423
Phi ← Constant#413, Phi#471
Value
424
Phi ← Constant#338, Phi#472
Value
425
Phi ← Phi#275, Phi#275
Value
427
InterruptCheck
428
Unbox Phi#422 to Int32 (fallible)
Int32
429
Unbox Phi#419 to Int32 (fallible)
Int32
430
Compare ← Unbox#428, Unbox#429 Lt
Bool
431
Test ← Compare#430 → block 37, block 43
1
0
Block 37
432
Unbox Phi#418 to Object (fallible)
Object
433
Unbox Phi#422 to Int32 (fallible)
Int32
434
GuardShape ← Unbox#432
Object
435
Elements ← GuardShape#434
Elements
436
InitializedLength ← Elements#435
Int32
437
BoundsCheck ← Unbox#433, InitializedLength#436
Int32
438
SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436
Int32
439
GuardElementNotHole ← Elements#435, SpectreMaskIndex#438
440
Constant true
Bool
441
Test ← Constant#440 → block 38, block 42
1
0
Block 38
442
Unbox Phi#418 to Object (fallible)
Object
443
Unbox Phi#422 to Int32 (fallible)
Int32
444
GuardShape ← Unbox#442
Object
445
Elements ← GuardShape#444
Elements
446
InitializedLength ← Elements#445
Int32
447
BoundsCheck ← Unbox#443, InitializedLength#446
Int32
448
SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446
Int32
449
GuardElementsArePacked ← Elements#445
450
LoadElement ← Elements#445, SpectreMaskIndex#448
Value
451
Constant 0x3
Int32
452
Unbox Phi#417 to Object (fallible)
Object
453
GuardToFunction ← Unbox#452
Object
454
GuardFunctionScript ← GuardToFunction#453
Object
455
Goto → block 39
Block 39
456
Constant undefined
Undefined
457
Constant 0x32
Int32
458
Unbox LoadElement#450 to Double (fallible)
Double
459
Compare ← Unbox#458, Constant#457 Gt
Bool
461
Goto → block 40
Block 40
462
Test ← Compare#459 → block 41, block 42
1
0
Block 41
463
Unbox Phi#423 to Int32 (fallible)
Int32
464
Constant 0x1
Int32
465
Add ← Unbox#463, Constant#464 [int32]
Int32
466
Unbox Phi#421 to Object (fallible)
Object
467
GuardShape ← Unbox#466
Object
468
Elements ← GuardShape#467
Elements
469
StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450
470
Goto → block 42
Block 42 (backedge)
471
Phi ← Add#465, Phi#423, Phi#423
Value
472
Phi ← LoadElement#450, Phi#424, LoadElement#450
Value
473
Unbox Phi#422 to Int32 (fallible)
Int32
474
Constant 0x1
Int32
475
Add ← Unbox#473, Constant#474 [int32]
Int32
476
Goto → block 36
Block 43
478
Goto → block 44
Block 44
479
Unbox Phi#421 to Object (fallible)
Object
480
GuardShape ← Unbox#479
Object
481
Constant object 104289c3e088 (Array)
Object
482
Constant function reduce (self-hosted:205) at 104289c479c0
Object
483
Constant function complex4/< (-e:18) at 104289c63d98
Object
484
Lambda ← FunctionEnvironment#179, Constant#483
Object
485
Constant 0x0
Int32
486
Constant 0x2
Int32
487
Constant function reduce (self-hosted:205) at 104289c479c0
Object
488
GuardSpecificFunction ← Constant#482, Constant#487
Object
489
Call ← GuardSpecificFunction#488, Phi#421, Lambda#484, Constant#485
Value
491
Goto → block 45
Block 45
492
Constant object 104289c3f040 (LexicalEnvironment)
Object
493
Constant object 104289c3e030 (global)
Object
494
Constant function complex5 (-e:21) at 104289c6c900
Object
495
Constant undefined
Undefined
496
Constant shape at 104289c64fc0
Shape
497
NewPlainObject ← Constant#496
Object
498
GuardShape ← NewPlainObject#497
Object
499
PostWriteBarrier ← GuardShape#498, Call#112
500
StoreFixedSlot ← GuardShape#498, Call#112 (slot 0)
501
GuardShape ← NewPlainObject#497
Object
502
PostWriteBarrier ← GuardShape#501, BitOr#137
503
StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1)
504
GuardShape ← NewPlainObject#497
Object
505
PostWriteBarrier ← GuardShape#504, Call#147
506
StoreFixedSlot ← GuardShape#504, Call#147 (slot 2)
507
Constant 0x1
Int32
508
Constant function complex5 (-e:21) at 104289c6c900
Object
509
GuardSpecificFunction ← Constant#494, Constant#508
Object
510
Goto → block 46
Block 46
511
Constant undefined
Undefined
512
FunctionEnvironment ← GuardSpecificFunction#509
Object
513
Constant object 104289c3f078 (Call)
Object
514
NewCallObject ← Constant#513
Object
515
AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512
516
AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509
517
StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0)
518
StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1)
519
PostWriteBarrier ← NewCallObject#514, NewPlainObject#497
520
StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2)
521
Constant object 104289c3f040 (LexicalEnvironment)
Object
522
Constant object 104289c3e030 (global)
Object
523
Constant function Object at 104289c422e0
Object
524
Constant function Object at 104289c422e0
Object
525
GuardObjectIdentity ← Constant#523, Constant#524
Object
526
Constant function keys at 104289c42468
Object
527
LoadFixedSlot ← NewCallObject#514 (slot 2)
Value
528
Constant 0x1
Int32
529
Constant function keys at 104289c42468
Object
530
GuardSpecificFunction ← Constant#526, Constant#529
Object
531
Unbox LoadFixedSlot#527 to Object (fallible)
Object
532
GuardIsNotProxy ← Unbox#531
Object
533
ObjectKeys ← GuardIsNotProxy#532
Object
534
GuardShape ← ObjectKeys#533
Object
535
Constant object 104289c3e088 (Array)
Object
536
Constant function map (self-hosted:163) at 104289c47920
Object
537
Constant function complex5/< (-e:22) at 104289c63e08
Object
538
Lambda ← NewCallObject#514, Constant#537
Object
539
Constant 0x1
Int32
540
Constant function map (self-hosted:163) at 104289c47920
Object
541
GuardSpecificFunction ← Constant#536, Constant#540
Object
542
Goto → block 47
Block 47
543
Constant undefined
Undefined
544
Constant function ToObject at 104289c6c740
Object
545
DebugCheckSelfHosted ← Constant#544
Value
546
Constant undefined
Undefined
547
Constant 0x1
Int32
548
Constant function ToLength at 104289c6c778
Object
549
DebugCheckSelfHosted ← Constant#548
Value
550
Constant undefined
Undefined
551
GuardShape ← ObjectKeys#533
Object
552
Elements ← GuardShape#551
Elements
553
ArrayLength ← Elements#552
Int32
554
Constant 0x1
Int32
555
Constant 0x0
Int32
556
MinMax ← ArrayLength#553, Constant#555 (max)
Int32
557
Constant 0x1
Int32
558
Constant 0x0
Int32
559
Compare ← Constant#557, Constant#558 StrictEq
Bool
560
Test ← Compare#559 → block 48, block 49
1
0
Block 48
561
CallGetIntrinsicValue
Value
562
DebugCheckSelfHosted ← CallGetIntrinsicValue#561
Value
563
Constant undefined
Undefined
564
Constant 0x37
Int32
565
Constant 0x0
Int32
566
Constant string 104289c2e080
String
567
Bail
712
Unreachable
Block 49
570
Constant function IsCallable at 104289c6c7b0
Object
571
DebugCheckSelfHosted ← Constant#570
Value
572
Constant undefined
Undefined
573
Constant 0x1
Int32
574
IsCallable ← Lambda#538
Bool
575
Test ← IsCallable#574 → block 51, block 50
1
0
Block 50
576
CallGetIntrinsicValue
Value
577
DebugCheckSelfHosted ← CallGetIntrinsicValue#576
Value
578
Constant undefined
Undefined
579
Constant 0xc
Int32
580
CallGetIntrinsicValue
Value
581
DebugCheckSelfHosted ← CallGetIntrinsicValue#580
Value
582
Constant undefined
Undefined
583
Constant 0x0
Int32
584
Bail
711
Unreachable
Block 51
589
Constant 0x1
Int32
590
Constant 0x1
Int32
591
Compare ← Constant#589, Constant#590 Gt
Bool
592
Test ← Compare#591 → block 52, block 53
1
0
Block 52
593
Constant 0x1
Int32
594
GetInlinedArgument ← Constant#593, Lambda#538
Value
595
Goto → block 54
Block 53
596
Constant undefined
Undefined
597
Goto → block 54
Block 54
598
Phi ← Constant#596, GetInlinedArgument#594
Value
599
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
600
DebugCheckSelfHosted ← Constant#599
Value
601
Constant undefined
Undefined
602
Constant 0x1
Int32
603
HasShape ← ObjectKeys#533
Bool
604
Test ← HasShape#603 → block 55, block 56
1
0
Block 55
605
Constant function std_Array at 104289c6c820
Object
606
DebugCheckSelfHosted ← Constant#605
Value
607
Constant undefined
Undefined
608
Constant 0x1
Int32
609
Unbox DebugCheckSelfHosted#606 to Object (fallible)
Object
610
Constant function std_Array at 104289c6c820
Object
611
GuardSpecificFunction ← Unbox#609, Constant#610
Object
612
NewArrayDynamicLength ← MinMax#556
Object
613
Goto → block 57
Block 56
614
CallGetIntrinsicValue
Value
615
DebugCheckSelfHosted ← CallGetIntrinsicValue#614
Value
616
Constant undefined
Undefined
617
Bail
710
Unreachable
Block 57
620
Phi ← NewArrayDynamicLength#612
Value
621
Constant 0x0
Int32
633
Goto → block 58
Block 58 (loop header)
622
Phi ← Constant#543, Constant#543
Value
623
Phi ← Constant#543, Constant#543
Value
624
Phi ← ObjectKeys#533, ObjectKeys#533
Value
625
Phi ← Lambda#538, Lambda#538
Value
626
Phi ← ObjectKeys#533, ObjectKeys#533
Value
627
Phi ← MinMax#556, MinMax#556
Value
628
Phi ← Phi#598, Phi#598
Value
629
Phi ← Phi#620, Phi#620
Value
630
Phi ← Constant#621, Add#679
Value
631
Phi ← Constant#543, Phi#676
Value
632
Phi ← ObjectKeys#533, ObjectKeys#533
Value
634
InterruptCheck
635
Unbox Phi#630 to Int32 (fallible)
Int32
636
Unbox Phi#627 to Int32 (fallible)
Int32
637
Compare ← Unbox#635, Unbox#636 Lt
Bool
638
Test ← Compare#637 → block 59, block 64
1
0
Block 59
639
Unbox Phi#626 to Object (fallible)
Object
640
Unbox Phi#630 to Int32 (fallible)
Int32
641
GuardShape ← Unbox#639
Object
642
Elements ← GuardShape#641
Elements
643
InitializedLength ← Elements#642
Int32
644
BoundsCheck ← Unbox#640, InitializedLength#643
Int32
645
SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643
Int32
646
GuardElementNotHole ← Elements#642, SpectreMaskIndex#645
647
Constant true
Bool
648
Test ← Constant#647 → block 60, block 63
1
0
Block 60
649
Unbox Phi#626 to Object (fallible)
Object
650
Unbox Phi#630 to Int32 (fallible)
Int32
651
GuardShape ← Unbox#649
Object
652
Elements ← GuardShape#651
Elements
653
InitializedLength ← Elements#652
Int32
654
BoundsCheck ← Unbox#650, InitializedLength#653
Int32
655
SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653
Int32
656
GuardElementsArePacked ← Elements#652
657
LoadElement ← Elements#652, SpectreMaskIndex#655
Value
658
Constant 0x3
Int32
659
Unbox Phi#625 to Object (fallible)
Object
660
GuardToFunction ← Unbox#659
Object
661
GuardFunctionScript ← GuardToFunction#660
Object
662
Goto → block 61
Block 61
663
Constant undefined
Undefined
664
FunctionEnvironment ← GuardFunctionScript#661
Object
665
LoadFixedSlot ← FunctionEnvironment#664 (slot 2)
Value
666
Unbox LoadFixedSlot#665 to Object (fallible)
Object
667
MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657
Value
669
Goto → block 62
Block 62
670
Unbox Phi#629 to Object (fallible)
Object
671
Unbox Phi#630 to Int32 (fallible)
Int32
672
GuardShape ← Unbox#670
Object
673
Elements ← GuardShape#672
Elements
674
StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667
675
Goto → block 63
Block 63 (backedge)
676
Phi ← MegamorphicLoadSlotByValue#667, Phi#631
Value
677
Unbox Phi#630 to Int32 (fallible)
Int32
678
Constant 0x1
Int32
679
Add ← Unbox#677, Constant#678 [int32]
Int32
680
Goto → block 58
Block 64
682
Goto → block 65
Block 65
683
Unbox Phi#629 to Object (fallible)
Object
684
GuardShape ← Unbox#683
Object
685
Constant object 104289c3e088 (Array)
Object
686
Constant function reduce (self-hosted:205) at 104289c479c0
Object
687
Constant function complex5/< (-e:22) at 104289c63e40
Object
688
Lambda ← NewCallObject#514, Constant#687
Object
689
Constant 0x0
Int32
690
Constant 0x2
Int32
691
Constant function reduce (self-hosted:205) at 104289c479c0
Object
692
GuardSpecificFunction ← Constant#686, Constant#691
Object
693
Call ← GuardSpecificFunction#692, Phi#629, Lambda#688, Constant#689
Value
695
Goto → block 66
Block 66 (backedge)
696
Unbox Phi#95 to Int32 (fallible)
Int32
697
Constant 0x1
Int32
698
Add ← Unbox#696, Constant#697 [int32]
Int32
699
Goto → block 1
Block 67
700
Unbox Phi#88 to Double (fallible)
Double
701
Unbox Phi#89 to Double (fallible)
Double
702
Add ← Unbox#700, Unbox#701 [double]
Double
703
Unbox Phi#90 to Double (fallible)
Double
704
Add ← Add#702, Unbox#703 [double]
Double
705
Unbox Phi#92 to Double (fallible)
Double
706
Add ← Add#704, Unbox#705 [double]
Double
707
Unbox Phi#94 to Double (fallible)
Double
708
Add ← Add#706, Unbox#707 [double]
Double
709
Return ← Add#708
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant object 104289c3f040 (LexicalEnvironment)
Object
7
Constant object 104289c3e030 (global)
Object
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
9
Constant undefined
Undefined
10
Constant 0x1
Int32
11
Constant function complex1 (-e:2) at 104289c6c8c8
Object
12
GuardSpecificFunction ← Constant#8, Constant#11
Object
13
Call ← GuardSpecificFunction#12, Constant#9, Parameter#1
Value
14
Constant object 104289c3f040 (LexicalEnvironment)
Object
15
Constant object 104289c3e030 (global)
Object
16
Constant function complex2 (-e:7) at 104289c6c970
Object
17
Constant undefined
Undefined
18
Constant 0x1
Int32
19
Constant function complex2 (-e:7) at 104289c6c970
Object
20
GuardSpecificFunction ← Constant#16, Constant#19
Object
21
Call ← GuardSpecificFunction#20, Constant#17, Parameter#1
Value
22
Constant object 104289c3f040 (LexicalEnvironment)
Object
23
Constant object 104289c3e030 (global)
Object
24
Constant function complex3 (-e:11) at 104289c6c938
Object
25
Constant undefined
Undefined
26
Constant 0x2
Int32
27
Constant function complex3 (-e:11) at 104289c6c938
Object
28
GuardSpecificFunction ← Constant#24, Constant#27
Object
29
Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
52
Constant object 104289c3f040 (LexicalEnvironment)
Object
53
Constant object 104289c3e030 (global)
Object
54
Constant function complex4 (-e:17) at 104289c6c890
Object
55
Constant undefined
Undefined
56
Constant 0x1
Int32
57
Constant function complex4 (-e:17) at 104289c6c890
Object
58
GuardSpecificFunction ← Constant#54, Constant#57
Object
59
Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
65
GuardShape ← NewPlainObject#61
Object
66
PostWriteBarrier ← GuardShape#65, Call#21
67
StoreFixedSlot ← GuardShape#65, Call#21 (slot 1)
68
GuardShape ← NewPlainObject#61
Object
69
PostWriteBarrier ← GuardShape#68, Call#29
70
StoreFixedSlot ← GuardShape#68, Call#29 (slot 2)
71
GuardShape ← NewPlainObject#61
Object
72
PostWriteBarrier ← GuardShape#71, Call#59
73
StoreFixedSlot ← GuardShape#71, Call#59 (slot 3)
74
Constant object 104289c3f040 (LexicalEnvironment)
Object
75
Constant object 104289c3e030 (global)
Object
76
Constant function complex5 (-e:21) at 104289c6c900
Object
77
Constant undefined
Undefined
78
Constant 0x1
Int32
79
Constant function complex5 (-e:21) at 104289c6c900
Object
80
GuardSpecificFunction ← Constant#76, Constant#79
Object
81
Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61
Value
82
Constant magic uninitialized-lexical
MagicUninitializedLexical
83
Constant 0x0
Int32
96
Goto → block 1
Block 1 (loop header)
84
Phi ← Constant#2, Constant#2
Value
85
Phi ← Constant#2, Constant#2
Value
86
Phi ← Parameter#0, Parameter#0
Value
87
Phi ← Parameter#1, Parameter#1
Value
88
Phi ← Call#13, Call#112
Value
89
Phi ← Call#21, BitOr#137
Value
90
Phi ← Call#29, Call#147
Value
91
Phi ← NewArrayObject#31, NewArrayObject#31
Value
92
Phi ← Call#59, Call#489
Value
93
Phi ← NewPlainObject#61, NewPlainObject#61
Value
94
Phi ← Call#81, Call#693
Value
95
Phi ← Constant#83, Add#698
Value
97
InterruptCheck
98
Constant 0xa
Int32
99
Unbox Phi#95 to Int32 (fallible)
Int32
100
Compare ← Unbox#99, Constant#98 Lt
Bool
101
Test ← Compare#100 → block 2, block 67
1
0
Block 2
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant function complex1 (-e:2) at 104289c6c8c8
Object
105
Constant undefined
Undefined
106
Unbox Phi#88 to Double (fallible)
Double
107
Unbox Phi#95 to Double (fallible)
Double
108
Add ← Unbox#106, Unbox#107 [double]
Double
109
Constant 0x1
Int32
110
Constant function complex1 (-e:2) at 104289c6c8c8
Object
111
GuardSpecificFunction ← Constant#104, Constant#110
Object
112
Call ← GuardSpecificFunction#111, Constant#105, Add#108
Value
113
Constant object 104289c3f040 (LexicalEnvironment)
Object
114
Constant object 104289c3e030 (global)
Object
115
Constant function complex2 (-e:7) at 104289c6c970
Object
116
Constant undefined
Undefined
117
Unbox Phi#89 to Int32 (fallible)
Int32
118
Unbox Phi#95 to Int32 (fallible)
Int32
119
Add ← Unbox#117, Unbox#118 [int32]
Int32
120
Constant 0x1
Int32
121
Constant function complex2 (-e:7) at 104289c6c970
Object
122
GuardSpecificFunction ← Constant#115, Constant#121
Object
123
Goto → block 3
Block 3
124
Constant undefined
Undefined
125
Constant 0x1
Int32
126
Lsh ← Add#119, Constant#125
Int32
127
Constant 0x1
Int32
128
Rsh ← Add#119, Constant#127
Int32
129
Constant 0xff
Int32
130
BitAnd ← Add#119, Constant#129
Int32
131
Constant 0x2
Int32
132
Ursh ← Add#119, Constant#131
Int32
133
Add ← BitAnd#130, Ursh#132 [int32]
Int32
134
BitNot ← Add#119
Int32
135
Sub ← Add#133, BitNot#134 [int32]
Int32
136
BitXor ← Rsh#128, Sub#135
Int32
137
BitOr ← Lsh#126, BitXor#136
Int32
139
Goto → block 4
Block 4
140
Constant object 104289c3f040 (LexicalEnvironment)
Object
141
Constant object 104289c3e030 (global)
Object
142
Constant function complex3 (-e:11) at 104289c6c938
Object
143
Constant undefined
Undefined
144
Constant 0x2
Int32
145
Constant function complex3 (-e:11) at 104289c6c938
Object
146
GuardSpecificFunction ← Constant#142, Constant#145
Object
147
Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112
Value
148
Constant object 104289c3f040 (LexicalEnvironment)
Object
149
Constant object 104289c3e030 (global)
Object
150
Constant function complex4 (-e:17) at 104289c6c890
Object
151
Constant undefined
Undefined
152
Constant shape at 104289c64f00
Shape
153
NewArrayObject ← Constant#152
Object
154
Constant 0x0
Int32
155
Elements ← NewArrayObject#153
Elements
156
PostWriteBarrier ← NewArrayObject#153, Call#112
157
StoreElement ← Elements#155, Constant#154, Call#112
158
SetInitializedLength ← Elements#155, Constant#154
159
Constant 0x1
Int32
160
Elements ← NewArrayObject#153
Elements
161
PostWriteBarrier ← NewArrayObject#153, BitOr#137
162
StoreElement ← Elements#160, Constant#159, BitOr#137
163
SetInitializedLength ← Elements#160, Constant#159
164
Constant 0x2
Int32
165
Elements ← NewArrayObject#153
Elements
166
PostWriteBarrier ← NewArrayObject#153, Call#147
167
StoreElement ← Elements#165, Constant#164, Call#147
168
SetInitializedLength ← Elements#165, Constant#164
169
Constant 0x3
Int32
170
Elements ← NewArrayObject#153
Elements
171
PostWriteBarrier ← NewArrayObject#153, Phi#95
172
StoreElement ← Elements#170, Constant#169, Phi#95
173
SetInitializedLength ← Elements#170, Constant#169
174
Constant 0x1
Int32
175
Constant function complex4 (-e:17) at 104289c6c890
Object
176
GuardSpecificFunction ← Constant#150, Constant#175
Object
177
Goto → block 5
Block 5
178
Constant undefined
Undefined
179
FunctionEnvironment ← GuardSpecificFunction#176
Object
180
GuardShape ← NewArrayObject#153
Object
181
Constant object 104289c3e088 (Array)
Object
182
Constant function map (self-hosted:163) at 104289c47920
Object
183
Constant function complex4/< (-e:18) at 104289c63d28
Object
184
Lambda ← FunctionEnvironment#179, Constant#183
Object
185
Constant 0x1
Int32
186
Constant function map (self-hosted:163) at 104289c47920
Object
187
GuardSpecificFunction ← Constant#182, Constant#186
Object
188
Goto → block 6
Block 6
189
Constant undefined
Undefined
190
Constant function ToObject at 104289c6c740
Object
191
DebugCheckSelfHosted ← Constant#190
Value
192
Constant undefined
Undefined
193
Constant 0x1
Int32
194
Constant function ToLength at 104289c6c778
Object
195
DebugCheckSelfHosted ← Constant#194
Value
196
Constant undefined
Undefined
197
GuardShape ← NewArrayObject#153
Object
198
Elements ← GuardShape#197
Elements
199
ArrayLength ← Elements#198
Int32
200
Constant 0x1
Int32
201
Constant 0x0
Int32
202
MinMax ← ArrayLength#199, Constant#201 (max)
Int32
203
Constant 0x1
Int32
204
Constant 0x0
Int32
205
Compare ← Constant#203, Constant#204 StrictEq
Bool
206
Test ← Compare#205 → block 7, block 8
1
0
Block 7
207
CallGetIntrinsicValue
Value
208
DebugCheckSelfHosted ← CallGetIntrinsicValue#207
Value
209
Constant undefined
Undefined
210
Constant 0x37
Int32
211
Constant 0x0
Int32
212
Constant string 104289c2e080
String
213
Bail
718
Unreachable
Block 8
216
Constant function IsCallable at 104289c6c7b0
Object
217
DebugCheckSelfHosted ← Constant#216
Value
218
Constant undefined
Undefined
219
Constant 0x1
Int32
220
IsCallable ← Lambda#184
Bool
221
Test ← IsCallable#220 → block 10, block 9
1
0
Block 9
222
CallGetIntrinsicValue
Value
223
DebugCheckSelfHosted ← CallGetIntrinsicValue#222
Value
224
Constant undefined
Undefined
225
Constant 0xc
Int32
226
CallGetIntrinsicValue
Value
227
DebugCheckSelfHosted ← CallGetIntrinsicValue#226
Value
228
Constant undefined
Undefined
229
Constant 0x0
Int32
230
Bail
717
Unreachable
Block 10
235
Constant 0x1
Int32
236
Constant 0x1
Int32
237
Compare ← Constant#235, Constant#236 Gt
Bool
238
Test ← Compare#237 → block 11, block 12
1
0
Block 11
239
Constant 0x1
Int32
240
GetInlinedArgument ← Constant#239, Lambda#184
Value
241
Goto → block 13
Block 12
242
Constant undefined
Undefined
243
Goto → block 13
Block 13
244
Phi ← Constant#242, GetInlinedArgument#240
Value
245
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
246
DebugCheckSelfHosted ← Constant#245
Value
247
Constant undefined
Undefined
248
Constant 0x1
Int32
249
HasShape ← NewArrayObject#153
Bool
250
Test ← HasShape#249 → block 14, block 15
1
0
Block 14
251
Constant function std_Array at 104289c6c820
Object
252
DebugCheckSelfHosted ← Constant#251
Value
253
Constant undefined
Undefined
254
Constant 0x1
Int32
255
Unbox DebugCheckSelfHosted#252 to Object (fallible)
Object
256
Constant function std_Array at 104289c6c820
Object
257
GuardSpecificFunction ← Unbox#255, Constant#256
Object
258
NewArrayDynamicLength ← MinMax#202
Object
259
Goto → block 16
Block 15
260
CallGetIntrinsicValue
Value
261
DebugCheckSelfHosted ← CallGetIntrinsicValue#260
Value
262
Constant undefined
Undefined
263
Bail
716
Unreachable
Block 16
266
Phi ← NewArrayDynamicLength#258
Value
267
Constant 0x0
Int32
279
Goto → block 17
Block 17 (loop header)
268
Phi ← Constant#189, Constant#189
Value
269
Phi ← Constant#189, Constant#189
Value
270
Phi ← NewArrayObject#153, NewArrayObject#153
Value
271
Phi ← Lambda#184, Lambda#184
Value
272
Phi ← NewArrayObject#153, NewArrayObject#153
Value
273
Phi ← MinMax#202, MinMax#202
Value
274
Phi ← Phi#244, Phi#244
Value
275
Phi ← Phi#266, Phi#266
Value
276
Phi ← Constant#267, Add#324
Value
277
Phi ← Constant#189, Phi#321
Value
278
Phi ← NewArrayObject#153, NewArrayObject#153
Value
280
InterruptCheck
281
Unbox Phi#276 to Int32 (fallible)
Int32
282
Unbox Phi#273 to Int32 (fallible)
Int32
283
Compare ← Unbox#281, Unbox#282 Lt
Bool
284
Test ← Compare#283 → block 18, block 24
1
0
Block 18
285
Unbox Phi#272 to Object (fallible)
Object
286
Unbox Phi#276 to Int32 (fallible)
Int32
287
GuardShape ← Unbox#285
Object
288
Elements ← GuardShape#287
Elements
289
InitializedLength ← Elements#288
Int32
290
BoundsCheck ← Unbox#286, InitializedLength#289
Int32
291
SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289
Int32
292
GuardElementNotHole ← Elements#288, SpectreMaskIndex#291
293
Constant true
Bool
294
Test ← Constant#293 → block 19, block 22
1
0
Block 19
295
Unbox Phi#272 to Object (fallible)
Object
296
Unbox Phi#276 to Int32 (fallible)
Int32
297
GuardShape ← Unbox#295
Object
298
Elements ← GuardShape#297
Elements
299
InitializedLength ← Elements#298
Int32
300
BoundsCheck ← Unbox#296, InitializedLength#299
Int32
301
SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299
Int32
302
GuardElementsArePacked ← Elements#298
303
LoadElement ← Elements#298, SpectreMaskIndex#301
Value
304
Constant 0x3
Int32
305
Unbox Phi#271 to Object (fallible)
Object
306
GuardToFunction ← Unbox#305
Object
307
GuardFunctionScript ← GuardToFunction#306
Object
308
Goto → block 20
Block 20
309
Constant undefined
Undefined
310
Constant 0x2
Int32
311
Unbox LoadElement#303 to Double (fallible)
Double
312
Mul ← Unbox#311, Constant#310 [double]
Double
314
Goto → block 21
Block 21
315
Unbox Phi#275 to Object (fallible)
Object
316
Unbox Phi#276 to Int32 (fallible)
Int32
317
GuardShape ← Unbox#315
Object
318
Elements ← GuardShape#317
Elements
319
StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312
320
Goto → block 22
Block 22 (backedge)
321
Phi ← Mul#312, Phi#277
Value
322
Unbox Phi#276 to Int32 (fallible)
Int32
323
Constant 0x1
Int32
324
Add ← Unbox#322, Constant#323 [int32]
Int32
325
Goto → block 17
Block 24
328
Unbox Phi#275 to Object (fallible)
Object
329
GuardShape ← Unbox#328
Object
330
Constant object 104289c3e088 (Array)
Object
331
Constant function filter (self-hosted:183) at 104289c47970
Object
332
Constant function complex4/< (-e:18) at 104289c63d60
Object
333
Lambda ← FunctionEnvironment#179, Constant#332
Object
334
Constant 0x1
Int32
335
Constant function filter (self-hosted:183) at 104289c47970
Object
336
GuardSpecificFunction ← Constant#331, Constant#335
Object
337
Goto → block 25
Block 25
338
Constant undefined
Undefined
339
Constant function ToObject at 104289c6c740
Object
340
DebugCheckSelfHosted ← Constant#339
Value
341
Constant undefined
Undefined
342
Constant 0x1
Int32
343
Unbox Phi#275 to Object (fallible)
Object
344
Constant function ToLength at 104289c6c778
Object
345
DebugCheckSelfHosted ← Constant#344
Value
346
Constant undefined
Undefined
347
GuardShape ← Unbox#343
Object
348
Elements ← GuardShape#347
Elements
349
ArrayLength ← Elements#348
Int32
350
Constant 0x1
Int32
351
Constant 0x0
Int32
352
MinMax ← ArrayLength#349, Constant#351 (max)
Int32
353
Constant 0x1
Int32
354
Constant 0x0
Int32
355
Compare ← Constant#353, Constant#354 StrictEq
Bool
356
Test ← Compare#355 → block 26, block 27
1
0
Block 26
357
CallGetIntrinsicValue
Value
358
DebugCheckSelfHosted ← CallGetIntrinsicValue#357
Value
359
Constant undefined
Undefined
360
Constant 0x37
Int32
361
Constant 0x0
Int32
362
Constant string 104289c28540
String
363
Bail
715
Unreachable
Block 27
366
Constant function IsCallable at 104289c6c7b0
Object
367
DebugCheckSelfHosted ← Constant#366
Value
368
Constant undefined
Undefined
369
Constant 0x1
Int32
370
IsCallable ← Lambda#333
Bool
371
Test ← IsCallable#370 → block 29, block 28
1
0
Block 28
372
CallGetIntrinsicValue
Value
373
DebugCheckSelfHosted ← CallGetIntrinsicValue#372
Value
374
Constant undefined
Undefined
375
Constant 0xc
Int32
376
CallGetIntrinsicValue
Value
377
DebugCheckSelfHosted ← CallGetIntrinsicValue#376
Value
378
Constant undefined
Undefined
379
Constant 0x0
Int32
380
Bail
714
Unreachable
Block 29
385
Constant 0x1
Int32
386
Constant 0x1
Int32
387
Compare ← Constant#385, Constant#386 Gt
Bool
388
Test ← Compare#387 → block 30, block 31
1
0
Block 30
389
Constant 0x1
Int32
390
GetInlinedArgument ← Constant#389, Lambda#333
Value
391
Goto → block 32
Block 31
392
Constant undefined
Undefined
393
Goto → block 32
Block 32
394
Phi ← Constant#392, GetInlinedArgument#390
Value
395
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
396
DebugCheckSelfHosted ← Constant#395
Value
397
Constant undefined
Undefined
398
Constant 0x1
Int32
399
HasShape ← Unbox#343
Bool
400
Test ← HasShape#399 → block 33, block 34
1
0
Block 33
401
Constant shape at 104289c64f00
Shape
402
NewArrayObject ← Constant#401
Object
403
Goto → block 35
Block 34
404
CallGetIntrinsicValue
Value
405
DebugCheckSelfHosted ← CallGetIntrinsicValue#404
Value
406
Constant undefined
Undefined
407
Constant 0x0
Int32
408
Bail
713
Unreachable
Block 35
411
Phi ← NewArrayObject#402
Value
412
Constant 0x0
Int32
413
Constant 0x0
Int32
426
Goto → block 36
Block 36 (loop header)
414
Phi ← Constant#338, Constant#338
Value
415
Phi ← Constant#338, Constant#338
Value
416
Phi ← Phi#275, Phi#275
Value
417
Phi ← Lambda#333, Lambda#333
Value
418
Phi ← Unbox#343, Unbox#343
Value
419
Phi ← MinMax#352, MinMax#352
Value
420
Phi ← Phi#394, Phi#394
Value
421
Phi ← Phi#411, Phi#411
Value
422
Phi ← Constant#412, Add#475
Value
423
Phi ← Constant#413, Phi#471
Value
424
Phi ← Constant#338, Phi#472
Value
425
Phi ← Phi#275, Phi#275
Value
427
InterruptCheck
428
Unbox Phi#422 to Int32 (fallible)
Int32
429
Unbox Phi#419 to Int32 (fallible)
Int32
430
Compare ← Unbox#428, Unbox#429 Lt
Bool
431
Test ← Compare#430 → block 37, block 44
1
0
Block 37
432
Unbox Phi#418 to Object (fallible)
Object
433
Unbox Phi#422 to Int32 (fallible)
Int32
434
GuardShape ← Unbox#432
Object
435
Elements ← GuardShape#434
Elements
436
InitializedLength ← Elements#435
Int32
437
BoundsCheck ← Unbox#433, InitializedLength#436
Int32
438
SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436
Int32
439
GuardElementNotHole ← Elements#435, SpectreMaskIndex#438
440
Constant true
Bool
441
Test ← Constant#440 → block 38, block 42
1
0
Block 38
442
Unbox Phi#418 to Object (fallible)
Object
443
Unbox Phi#422 to Int32 (fallible)
Int32
444
GuardShape ← Unbox#442
Object
445
Elements ← GuardShape#444
Elements
446
InitializedLength ← Elements#445
Int32
447
BoundsCheck ← Unbox#443, InitializedLength#446
Int32
448
SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446
Int32
449
GuardElementsArePacked ← Elements#445
450
LoadElement ← Elements#445, SpectreMaskIndex#448
Value
451
Constant 0x3
Int32
452
Unbox Phi#417 to Object (fallible)
Object
453
GuardToFunction ← Unbox#452
Object
454
GuardFunctionScript ← GuardToFunction#453
Object
455
Goto → block 39
Block 39
456
Constant undefined
Undefined
457
Constant 0x32
Int32
458
Unbox LoadElement#450 to Double (fallible)
Double
459
Compare ← Unbox#458, Constant#457 Gt
Bool
461
Goto → block 40
Block 40
462
Test ← Compare#459 → block 41, block 42
1
0
Block 41
463
Unbox Phi#423 to Int32 (fallible)
Int32
464
Constant 0x1
Int32
465
Add ← Unbox#463, Constant#464 [int32]
Int32
466
Unbox Phi#421 to Object (fallible)
Object
467
GuardShape ← Unbox#466
Object
468
Elements ← GuardShape#467
Elements
469
StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450
470
Goto → block 42
Block 42 (backedge)
471
Phi ← Add#465, Phi#423, Phi#423
Value
472
Phi ← LoadElement#450, Phi#424, LoadElement#450
Value
473
Unbox Phi#422 to Int32 (fallible)
Int32
474
Constant 0x1
Int32
475
Add ← Unbox#473, Constant#474 [int32]
Int32
476
Goto → block 36
Block 44
479
Unbox Phi#421 to Object (fallible)
Object
480
GuardShape ← Unbox#479
Object
481
Constant object 104289c3e088 (Array)
Object
482
Constant function reduce (self-hosted:205) at 104289c479c0
Object
483
Constant function complex4/< (-e:18) at 104289c63d98
Object
484
Lambda ← FunctionEnvironment#179, Constant#483
Object
485
Constant 0x0
Int32
486
Constant 0x2
Int32
487
Constant function reduce (self-hosted:205) at 104289c479c0
Object
488
GuardSpecificFunction ← Constant#482, Constant#487
Object
489
Call ← GuardSpecificFunction#488, Phi#421, Lambda#484, Constant#485
Value
491
Goto → block 45
Block 45
492
Constant object 104289c3f040 (LexicalEnvironment)
Object
493
Constant object 104289c3e030 (global)
Object
494
Constant function complex5 (-e:21) at 104289c6c900
Object
495
Constant undefined
Undefined
496
Constant shape at 104289c64fc0
Shape
497
NewPlainObject ← Constant#496
Object
498
GuardShape ← NewPlainObject#497
Object
499
PostWriteBarrier ← GuardShape#498, Call#112
500
StoreFixedSlot ← GuardShape#498, Call#112 (slot 0)
501
GuardShape ← NewPlainObject#497
Object
502
PostWriteBarrier ← GuardShape#501, BitOr#137
503
StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1)
504
GuardShape ← NewPlainObject#497
Object
505
PostWriteBarrier ← GuardShape#504, Call#147
506
StoreFixedSlot ← GuardShape#504, Call#147 (slot 2)
507
Constant 0x1
Int32
508
Constant function complex5 (-e:21) at 104289c6c900
Object
509
GuardSpecificFunction ← Constant#494, Constant#508
Object
510
Goto → block 46
Block 46
511
Constant undefined
Undefined
512
FunctionEnvironment ← GuardSpecificFunction#509
Object
513
Constant object 104289c3f078 (Call)
Object
514
NewCallObject ← Constant#513
Object
515
AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512
516
AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509
517
StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0)
518
StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1)
519
PostWriteBarrier ← NewCallObject#514, NewPlainObject#497
520
StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2)
521
Constant object 104289c3f040 (LexicalEnvironment)
Object
522
Constant object 104289c3e030 (global)
Object
523
Constant function Object at 104289c422e0
Object
524
Constant function Object at 104289c422e0
Object
525
GuardObjectIdentity ← Constant#523, Constant#524
Object
526
Constant function keys at 104289c42468
Object
527
LoadFixedSlot ← NewCallObject#514 (slot 2)
Value
528
Constant 0x1
Int32
529
Constant function keys at 104289c42468
Object
530
GuardSpecificFunction ← Constant#526, Constant#529
Object
531
Unbox LoadFixedSlot#527 to Object (fallible)
Object
532
GuardIsNotProxy ← Unbox#531
Object
533
ObjectKeys ← GuardIsNotProxy#532
Object
534
GuardShape ← ObjectKeys#533
Object
535
Constant object 104289c3e088 (Array)
Object
536
Constant function map (self-hosted:163) at 104289c47920
Object
537
Constant function complex5/< (-e:22) at 104289c63e08
Object
538
Lambda ← NewCallObject#514, Constant#537
Object
539
Constant 0x1
Int32
540
Constant function map (self-hosted:163) at 104289c47920
Object
541
GuardSpecificFunction ← Constant#536, Constant#540
Object
542
Goto → block 47
Block 47
543
Constant undefined
Undefined
544
Constant function ToObject at 104289c6c740
Object
545
DebugCheckSelfHosted ← Constant#544
Value
546
Constant undefined
Undefined
547
Constant 0x1
Int32
548
Constant function ToLength at 104289c6c778
Object
549
DebugCheckSelfHosted ← Constant#548
Value
550
Constant undefined
Undefined
551
GuardShape ← ObjectKeys#533
Object
552
Elements ← GuardShape#551
Elements
553
ArrayLength ← Elements#552
Int32
554
Constant 0x1
Int32
555
Constant 0x0
Int32
556
MinMax ← ArrayLength#553, Constant#555 (max)
Int32
557
Constant 0x1
Int32
558
Constant 0x0
Int32
559
Compare ← Constant#557, Constant#558 StrictEq
Bool
560
Test ← Compare#559 → block 48, block 49
1
0
Block 48
561
CallGetIntrinsicValue
Value
562
DebugCheckSelfHosted ← CallGetIntrinsicValue#561
Value
563
Constant undefined
Undefined
564
Constant 0x37
Int32
565
Constant 0x0
Int32
566
Constant string 104289c2e080
String
567
Bail
712
Unreachable
Block 49
570
Constant function IsCallable at 104289c6c7b0
Object
571
DebugCheckSelfHosted ← Constant#570
Value
572
Constant undefined
Undefined
573
Constant 0x1
Int32
574
IsCallable ← Lambda#538
Bool
575
Test ← IsCallable#574 → block 51, block 50
1
0
Block 50
576
CallGetIntrinsicValue
Value
577
DebugCheckSelfHosted ← CallGetIntrinsicValue#576
Value
578
Constant undefined
Undefined
579
Constant 0xc
Int32
580
CallGetIntrinsicValue
Value
581
DebugCheckSelfHosted ← CallGetIntrinsicValue#580
Value
582
Constant undefined
Undefined
583
Constant 0x0
Int32
584
Bail
711
Unreachable
Block 51
589
Constant 0x1
Int32
590
Constant 0x1
Int32
591
Compare ← Constant#589, Constant#590 Gt
Bool
592
Test ← Compare#591 → block 52, block 53
1
0
Block 52
593
Constant 0x1
Int32
594
GetInlinedArgument ← Constant#593, Lambda#538
Value
595
Goto → block 54
Block 53
596
Constant undefined
Undefined
597
Goto → block 54
Block 54
598
Phi ← Constant#596, GetInlinedArgument#594
Value
599
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
600
DebugCheckSelfHosted ← Constant#599
Value
601
Constant undefined
Undefined
602
Constant 0x1
Int32
603
HasShape ← ObjectKeys#533
Bool
604
Test ← HasShape#603 → block 55, block 56
1
0
Block 55
605
Constant function std_Array at 104289c6c820
Object
606
DebugCheckSelfHosted ← Constant#605
Value
607
Constant undefined
Undefined
608
Constant 0x1
Int32
609
Unbox DebugCheckSelfHosted#606 to Object (fallible)
Object
610
Constant function std_Array at 104289c6c820
Object
611
GuardSpecificFunction ← Unbox#609, Constant#610
Object
612
NewArrayDynamicLength ← MinMax#556
Object
613
Goto → block 57
Block 56
614
CallGetIntrinsicValue
Value
615
DebugCheckSelfHosted ← CallGetIntrinsicValue#614
Value
616
Constant undefined
Undefined
617
Bail
710
Unreachable
Block 57
620
Phi ← NewArrayDynamicLength#612
Value
621
Constant 0x0
Int32
633
Goto → block 58
Block 58 (loop header)
622
Phi ← Constant#543, Constant#543
Value
623
Phi ← Constant#543, Constant#543
Value
624
Phi ← ObjectKeys#533, ObjectKeys#533
Value
625
Phi ← Lambda#538, Lambda#538
Value
626
Phi ← ObjectKeys#533, ObjectKeys#533
Value
627
Phi ← MinMax#556, MinMax#556
Value
628
Phi ← Phi#598, Phi#598
Value
629
Phi ← Phi#620, Phi#620
Value
630
Phi ← Constant#621, Add#679
Value
631
Phi ← Constant#543, Phi#676
Value
632
Phi ← ObjectKeys#533, ObjectKeys#533
Value
634
InterruptCheck
635
Unbox Phi#630 to Int32 (fallible)
Int32
636
Unbox Phi#627 to Int32 (fallible)
Int32
637
Compare ← Unbox#635, Unbox#636 Lt
Bool
638
Test ← Compare#637 → block 59, block 65
1
0
Block 59
639
Unbox Phi#626 to Object (fallible)
Object
640
Unbox Phi#630 to Int32 (fallible)
Int32
641
GuardShape ← Unbox#639
Object
642
Elements ← GuardShape#641
Elements
643
InitializedLength ← Elements#642
Int32
644
BoundsCheck ← Unbox#640, InitializedLength#643
Int32
645
SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643
Int32
646
GuardElementNotHole ← Elements#642, SpectreMaskIndex#645
647
Constant true
Bool
648
Test ← Constant#647 → block 60, block 63
1
0
Block 60
649
Unbox Phi#626 to Object (fallible)
Object
650
Unbox Phi#630 to Int32 (fallible)
Int32
651
GuardShape ← Unbox#649
Object
652
Elements ← GuardShape#651
Elements
653
InitializedLength ← Elements#652
Int32
654
BoundsCheck ← Unbox#650, InitializedLength#653
Int32
655
SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653
Int32
656
GuardElementsArePacked ← Elements#652
657
LoadElement ← Elements#652, SpectreMaskIndex#655
Value
658
Constant 0x3
Int32
659
Unbox Phi#625 to Object (fallible)
Object
660
GuardToFunction ← Unbox#659
Object
661
GuardFunctionScript ← GuardToFunction#660
Object
662
Goto → block 61
Block 61
663
Constant undefined
Undefined
664
FunctionEnvironment ← GuardFunctionScript#661
Object
665
LoadFixedSlot ← FunctionEnvironment#664 (slot 2)
Value
666
Unbox LoadFixedSlot#665 to Object (fallible)
Object
667
MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657
Value
669
Goto → block 62
Block 62
670
Unbox Phi#629 to Object (fallible)
Object
671
Unbox Phi#630 to Int32 (fallible)
Int32
672
GuardShape ← Unbox#670
Object
673
Elements ← GuardShape#672
Elements
674
StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667
675
Goto → block 63
Block 63 (backedge)
676
Phi ← MegamorphicLoadSlotByValue#667, Phi#631
Value
677
Unbox Phi#630 to Int32 (fallible)
Int32
678
Constant 0x1
Int32
679
Add ← Unbox#677, Constant#678 [int32]
Int32
680
Goto → block 58
Block 65
683
Unbox Phi#629 to Object (fallible)
Object
684
GuardShape ← Unbox#683
Object
685
Constant object 104289c3e088 (Array)
Object
686
Constant function reduce (self-hosted:205) at 104289c479c0
Object
687
Constant function complex5/< (-e:22) at 104289c63e40
Object
688
Lambda ← NewCallObject#514, Constant#687
Object
689
Constant 0x0
Int32
690
Constant 0x2
Int32
691
Constant function reduce (self-hosted:205) at 104289c479c0
Object
692
GuardSpecificFunction ← Constant#686, Constant#691
Object
693
Call ← GuardSpecificFunction#692, Phi#629, Lambda#688, Constant#689
Value
695
Goto → block 66
Block 66 (backedge)
696
Unbox Phi#95 to Int32 (fallible)
Int32
697
Constant 0x1
Int32
698
Add ← Unbox#696, Constant#697 [int32]
Int32
699
Goto → block 1
Block 67
700
Unbox Phi#88 to Double (fallible)
Double
701
Unbox Phi#89 to Double (fallible)
Double
702
Add ← Unbox#700, Unbox#701 [double]
Double
703
Unbox Phi#90 to Double (fallible)
Double
704
Add ← Add#702, Unbox#703 [double]
Double
705
Unbox Phi#92 to Double (fallible)
Double
706
Add ← Add#704, Unbox#705 [double]
Double
707
Unbox Phi#94 to Double (fallible)
Double
708
Add ← Add#706, Unbox#707 [double]
Double
709
Return ← Add#708
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant object 104289c3f040 (LexicalEnvironment)
Object
7
Constant object 104289c3e030 (global)
Object
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
9
Constant undefined
Undefined
10
Constant 0x1
Int32
11
Constant function complex1 (-e:2) at 104289c6c8c8
Object
12
GuardSpecificFunction ← Constant#8, Constant#11
Object
13
Call ← GuardSpecificFunction#12, Constant#9, Parameter#1
Value
14
Constant object 104289c3f040 (LexicalEnvironment)
Object
15
Constant object 104289c3e030 (global)
Object
16
Constant function complex2 (-e:7) at 104289c6c970
Object
17
Constant undefined
Undefined
18
Constant 0x1
Int32
19
Constant function complex2 (-e:7) at 104289c6c970
Object
20
GuardSpecificFunction ← Constant#16, Constant#19
Object
21
Call ← GuardSpecificFunction#20, Constant#17, Parameter#1
Value
22
Constant object 104289c3f040 (LexicalEnvironment)
Object
23
Constant object 104289c3e030 (global)
Object
24
Constant function complex3 (-e:11) at 104289c6c938
Object
25
Constant undefined
Undefined
26
Constant 0x2
Int32
27
Constant function complex3 (-e:11) at 104289c6c938
Object
28
GuardSpecificFunction ← Constant#24, Constant#27
Object
29
Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
52
Constant object 104289c3f040 (LexicalEnvironment)
Object
53
Constant object 104289c3e030 (global)
Object
54
Constant function complex4 (-e:17) at 104289c6c890
Object
55
Constant undefined
Undefined
56
Constant 0x1
Int32
57
Constant function complex4 (-e:17) at 104289c6c890
Object
58
GuardSpecificFunction ← Constant#54, Constant#57
Object
59
Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
65
GuardShape ← NewPlainObject#61
Object
66
PostWriteBarrier ← GuardShape#65, Call#21
67
StoreFixedSlot ← GuardShape#65, Call#21 (slot 1)
68
GuardShape ← NewPlainObject#61
Object
69
PostWriteBarrier ← GuardShape#68, Call#29
70
StoreFixedSlot ← GuardShape#68, Call#29 (slot 2)
71
GuardShape ← NewPlainObject#61
Object
72
PostWriteBarrier ← GuardShape#71, Call#59
73
StoreFixedSlot ← GuardShape#71, Call#59 (slot 3)
74
Constant object 104289c3f040 (LexicalEnvironment)
Object
75
Constant object 104289c3e030 (global)
Object
76
Constant function complex5 (-e:21) at 104289c6c900
Object
77
Constant undefined
Undefined
78
Constant 0x1
Int32
79
Constant function complex5 (-e:21) at 104289c6c900
Object
80
GuardSpecificFunction ← Constant#76, Constant#79
Object
81
Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61
Value
82
Constant magic uninitialized-lexical
MagicUninitializedLexical
83
Constant 0x0
Int32
96
Goto → block 1
Block 1 (loop header)
84
Phi ← Constant#2, Constant#2
Value
85
Phi ← Constant#2, Constant#2
Value
86
Phi ← Parameter#0, Parameter#0
Value
87
Phi ← Parameter#1, Parameter#1
Value
88
Phi ← Call#13, Call#112
Value
89
Phi ← Call#21, BitOr#137
Value
90
Phi ← Call#29, Call#147
Value
91
Phi ← NewArrayObject#31, NewArrayObject#31
Value
92
Phi ← Call#59, Call#489
Value
93
Phi ← NewPlainObject#61, NewPlainObject#61
Value
94
Phi ← Call#81, Call#693
Value
95
Phi ← Constant#83, Add#698
Value
97
InterruptCheck
98
Constant 0xa
Int32
99
Unbox Phi#95 to Int32 (fallible)
Int32
100
Compare ← Unbox#99, Constant#98 Lt
Bool
101
Test ← Compare#100 → block 2, block 67
1
0
Block 2
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant function complex1 (-e:2) at 104289c6c8c8
Object
105
Constant undefined
Undefined
106
Unbox Phi#88 to Double (fallible)
Double
107
Unbox Phi#95 to Double (fallible)
Double
108
Add ← Unbox#106, Unbox#107 [double]
Double
109
Constant 0x1
Int32
110
Constant function complex1 (-e:2) at 104289c6c8c8
Object
111
GuardSpecificFunction ← Constant#104, Constant#110
Object
112
Call ← GuardSpecificFunction#111, Constant#105, Add#108
Value
113
Constant object 104289c3f040 (LexicalEnvironment)
Object
114
Constant object 104289c3e030 (global)
Object
115
Constant function complex2 (-e:7) at 104289c6c970
Object
116
Constant undefined
Undefined
117
Unbox Phi#89 to Int32 (fallible)
Int32
118
Unbox Phi#95 to Int32 (fallible)
Int32
119
Add ← Unbox#117, Unbox#118 [int32]
Int32
120
Constant 0x1
Int32
121
Constant function complex2 (-e:7) at 104289c6c970
Object
122
GuardSpecificFunction ← Constant#115, Constant#121
Object
123
Goto → block 3
Block 3
124
Constant undefined
Undefined
125
Constant 0x1
Int32
126
Lsh ← Add#119, Constant#125
Int32
127
Constant 0x1
Int32
128
Rsh ← Add#119, Constant#127
Int32
129
Constant 0xff
Int32
130
BitAnd ← Add#119, Constant#129
Int32
131
Constant 0x2
Int32
132
Ursh ← Add#119, Constant#131
Int32
133
Add ← BitAnd#130, Ursh#132 [int32]
Int32
134
BitNot ← Add#119
Int32
135
Sub ← Add#133, BitNot#134 [int32]
Int32
136
BitXor ← Rsh#128, Sub#135
Int32
137
BitOr ← Lsh#126, BitXor#136
Int32
139
Goto → block 4
Block 4
140
Constant object 104289c3f040 (LexicalEnvironment)
Object
141
Constant object 104289c3e030 (global)
Object
142
Constant function complex3 (-e:11) at 104289c6c938
Object
143
Constant undefined
Undefined
144
Constant 0x2
Int32
145
Constant function complex3 (-e:11) at 104289c6c938
Object
146
GuardSpecificFunction ← Constant#142, Constant#145
Object
147
Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112
Value
148
Constant object 104289c3f040 (LexicalEnvironment)
Object
149
Constant object 104289c3e030 (global)
Object
150
Constant function complex4 (-e:17) at 104289c6c890
Object
151
Constant undefined
Undefined
152
Constant shape at 104289c64f00
Shape
153
NewArrayObject ← Constant#152
Object
154
Constant 0x0
Int32
155
Elements ← NewArrayObject#153
Elements
156
PostWriteBarrier ← NewArrayObject#153, Call#112
157
StoreElement ← Elements#155, Constant#154, Call#112
158
SetInitializedLength ← Elements#155, Constant#154
159
Constant 0x1
Int32
160
Elements ← NewArrayObject#153
Elements
161
PostWriteBarrier ← NewArrayObject#153, BitOr#137
162
StoreElement ← Elements#160, Constant#159, BitOr#137
163
SetInitializedLength ← Elements#160, Constant#159
164
Constant 0x2
Int32
165
Elements ← NewArrayObject#153
Elements
166
PostWriteBarrier ← NewArrayObject#153, Call#147
167
StoreElement ← Elements#165, Constant#164, Call#147
168
SetInitializedLength ← Elements#165, Constant#164
169
Constant 0x3
Int32
170
Elements ← NewArrayObject#153
Elements
171
PostWriteBarrier ← NewArrayObject#153, Phi#95
172
StoreElement ← Elements#170, Constant#169, Phi#95
173
SetInitializedLength ← Elements#170, Constant#169
174
Constant 0x1
Int32
175
Constant function complex4 (-e:17) at 104289c6c890
Object
176
GuardSpecificFunction ← Constant#150, Constant#175
Object
177
Goto → block 5
Block 5
178
Constant undefined
Undefined
179
FunctionEnvironment ← GuardSpecificFunction#176
Object
180
GuardShape ← NewArrayObject#153
Object
181
Constant object 104289c3e088 (Array)
Object
182
Constant function map (self-hosted:163) at 104289c47920
Object
183
Constant function complex4/< (-e:18) at 104289c63d28
Object
184
Lambda ← FunctionEnvironment#179, Constant#183
Object
185
Constant 0x1
Int32
186
Constant function map (self-hosted:163) at 104289c47920
Object
187
GuardSpecificFunction ← Constant#182, Constant#186
Object
188
Goto → block 6
Block 6
189
Constant undefined
Undefined
190
Constant function ToObject at 104289c6c740
Object
191
DebugCheckSelfHosted ← Constant#190
Value
192
Constant undefined
Undefined
193
Constant 0x1
Int32
194
Constant function ToLength at 104289c6c778
Object
195
DebugCheckSelfHosted ← Constant#194
Value
196
Constant undefined
Undefined
197
GuardShape ← NewArrayObject#153
Object
198
Elements ← GuardShape#197
Elements
199
ArrayLength ← Elements#198
Int32
200
Constant 0x1
Int32
201
Constant 0x0
Int32
202
MinMax ← ArrayLength#199, Constant#201 (max)
Int32
203
Constant 0x1
Int32
204
Constant 0x0
Int32
205
Compare ← Constant#203, Constant#204 StrictEq
Bool
206
Test ← Compare#205 → block 7, block 8
1
0
Block 7
207
CallGetIntrinsicValue
Value
208
DebugCheckSelfHosted ← CallGetIntrinsicValue#207
Value
209
Constant undefined
Undefined
210
Constant 0x37
Int32
211
Constant 0x0
Int32
212
Constant string 104289c2e080
String
213
Bail
718
Unreachable
Block 8
216
Constant function IsCallable at 104289c6c7b0
Object
217
DebugCheckSelfHosted ← Constant#216
Value
218
Constant undefined
Undefined
219
Constant 0x1
Int32
220
IsCallable ← Lambda#184
Bool
221
Test ← IsCallable#220 → block 10, block 9
1
0
Block 9
222
CallGetIntrinsicValue
Value
223
DebugCheckSelfHosted ← CallGetIntrinsicValue#222
Value
224
Constant undefined
Undefined
225
Constant 0xc
Int32
226
CallGetIntrinsicValue
Value
227
DebugCheckSelfHosted ← CallGetIntrinsicValue#226
Value
228
Constant undefined
Undefined
229
Constant 0x0
Int32
230
Bail
717
Unreachable
Block 10
235
Constant 0x1
Int32
236
Constant 0x1
Int32
237
Compare ← Constant#235, Constant#236 Gt
Bool
238
Test ← Compare#237 → block 11, block 12
1
0
Block 11
239
Constant 0x1
Int32
240
GetInlinedArgument ← Constant#239, Lambda#184
Value
241
Goto → block 13
Block 12
242
Constant undefined
Undefined
243
Goto → block 13
Block 13
244
Phi ← Constant#242, GetInlinedArgument#240
Value
245
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
246
DebugCheckSelfHosted ← Constant#245
Value
247
Constant undefined
Undefined
248
Constant 0x1
Int32
249
HasShape ← NewArrayObject#153
Bool
250
Test ← HasShape#249 → block 14, block 15
1
0
Block 14
251
Constant function std_Array at 104289c6c820
Object
252
DebugCheckSelfHosted ← Constant#251
Value
253
Constant undefined
Undefined
254
Constant 0x1
Int32
255
Unbox DebugCheckSelfHosted#252 to Object (fallible)
Object
256
Constant function std_Array at 104289c6c820
Object
257
GuardSpecificFunction ← Unbox#255, Constant#256
Object
258
NewArrayDynamicLength ← MinMax#202
Object
259
Goto → block 16
Block 15
260
CallGetIntrinsicValue
Value
261
DebugCheckSelfHosted ← CallGetIntrinsicValue#260
Value
262
Constant undefined
Undefined
263
Bail
716
Unreachable
Block 16
266
Phi ← NewArrayDynamicLength#258
Value
267
Constant 0x0
Int32
279
Goto → block 17
Block 17 (loop header)
268
Phi ← Constant#189, Constant#189
Value
269
Phi ← Constant#189, Constant#189
Value
270
Phi ← NewArrayObject#153, NewArrayObject#153
Value
271
Phi ← Lambda#184, Lambda#184
Value
272
Phi ← NewArrayObject#153, NewArrayObject#153
Value
273
Phi ← MinMax#202, MinMax#202
Value
274
Phi ← Phi#244, Phi#244
Value
275
Phi ← Phi#266, Phi#266
Value
276
Phi ← Constant#267, Add#324
Value
277
Phi ← Constant#189, Phi#321
Value
278
Phi ← NewArrayObject#153, NewArrayObject#153
Value
280
InterruptCheck
281
Unbox Phi#276 to Int32 (fallible)
Int32
282
Unbox Phi#273 to Int32 (fallible)
Int32
283
Compare ← Unbox#281, Unbox#282 Lt
Bool
284
Test ← Compare#283 → block 18, block 24
1
0
Block 18
285
Unbox Phi#272 to Object (fallible)
Object
286
Unbox Phi#276 to Int32 (fallible)
Int32
287
GuardShape ← Unbox#285
Object
288
Elements ← GuardShape#287
Elements
289
InitializedLength ← Elements#288
Int32
290
BoundsCheck ← Unbox#286, InitializedLength#289
Int32
291
SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289
Int32
292
GuardElementNotHole ← Elements#288, SpectreMaskIndex#291
293
Constant true
Bool
294
Test ← Constant#293 → block 19, block 22
1
0
Block 19
295
Unbox Phi#272 to Object (fallible)
Object
296
Unbox Phi#276 to Int32 (fallible)
Int32
297
GuardShape ← Unbox#295
Object
298
Elements ← GuardShape#297
Elements
299
InitializedLength ← Elements#298
Int32
300
BoundsCheck ← Unbox#296, InitializedLength#299
Int32
301
SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299
Int32
302
GuardElementsArePacked ← Elements#298
303
LoadElement ← Elements#298, SpectreMaskIndex#301
Value
304
Constant 0x3
Int32
305
Unbox Phi#271 to Object (fallible)
Object
306
GuardToFunction ← Unbox#305
Object
307
GuardFunctionScript ← GuardToFunction#306
Object
308
Goto → block 20
Block 20
309
Constant undefined
Undefined
310
Constant 0x2
Int32
311
Unbox LoadElement#303 to Double (fallible)
Double
312
Mul ← Unbox#311, Constant#310 [double]
Double
314
Goto → block 21
Block 21
315
Unbox Phi#275 to Object (fallible)
Object
316
Unbox Phi#276 to Int32 (fallible)
Int32
317
GuardShape ← Unbox#315
Object
318
Elements ← GuardShape#317
Elements
319
StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312
320
Goto → block 22
Block 22 (backedge)
321
Phi ← Mul#312, Phi#277
Value
322
Unbox Phi#276 to Int32 (fallible)
Int32
323
Constant 0x1
Int32
324
Add ← Unbox#322, Constant#323 [int32]
Int32
325
Goto → block 17
Block 24
328
Unbox Phi#275 to Object (fallible)
Object
329
GuardShape ← Unbox#328
Object
330
Constant object 104289c3e088 (Array)
Object
331
Constant function filter (self-hosted:183) at 104289c47970
Object
332
Constant function complex4/< (-e:18) at 104289c63d60
Object
333
Lambda ← FunctionEnvironment#179, Constant#332
Object
334
Constant 0x1
Int32
335
Constant function filter (self-hosted:183) at 104289c47970
Object
336
GuardSpecificFunction ← Constant#331, Constant#335
Object
337
Goto → block 25
Block 25
338
Constant undefined
Undefined
339
Constant function ToObject at 104289c6c740
Object
340
DebugCheckSelfHosted ← Constant#339
Value
341
Constant undefined
Undefined
342
Constant 0x1
Int32
343
Unbox Phi#275 to Object (fallible)
Object
344
Constant function ToLength at 104289c6c778
Object
345
DebugCheckSelfHosted ← Constant#344
Value
346
Constant undefined
Undefined
347
GuardShape ← Unbox#343
Object
348
Elements ← GuardShape#347
Elements
349
ArrayLength ← Elements#348
Int32
350
Constant 0x1
Int32
351
Constant 0x0
Int32
352
MinMax ← ArrayLength#349, Constant#351 (max)
Int32
353
Constant 0x1
Int32
354
Constant 0x0
Int32
355
Compare ← Constant#353, Constant#354 StrictEq
Bool
356
Test ← Compare#355 → block 26, block 27
1
0
Block 26
357
CallGetIntrinsicValue
Value
358
DebugCheckSelfHosted ← CallGetIntrinsicValue#357
Value
359
Constant undefined
Undefined
360
Constant 0x37
Int32
361
Constant 0x0
Int32
362
Constant string 104289c28540
String
363
Bail
715
Unreachable
Block 27
366
Constant function IsCallable at 104289c6c7b0
Object
367
DebugCheckSelfHosted ← Constant#366
Value
368
Constant undefined
Undefined
369
Constant 0x1
Int32
370
IsCallable ← Lambda#333
Bool
371
Test ← IsCallable#370 → block 29, block 28
1
0
Block 28
372
CallGetIntrinsicValue
Value
373
DebugCheckSelfHosted ← CallGetIntrinsicValue#372
Value
374
Constant undefined
Undefined
375
Constant 0xc
Int32
376
CallGetIntrinsicValue
Value
377
DebugCheckSelfHosted ← CallGetIntrinsicValue#376
Value
378
Constant undefined
Undefined
379
Constant 0x0
Int32
380
Bail
714
Unreachable
Block 29
385
Constant 0x1
Int32
386
Constant 0x1
Int32
387
Compare ← Constant#385, Constant#386 Gt
Bool
388
Test ← Compare#387 → block 30, block 31
1
0
Block 30
389
Constant 0x1
Int32
390
GetInlinedArgument ← Constant#389, Lambda#333
Value
391
Goto → block 32
Block 31
392
Constant undefined
Undefined
393
Goto → block 32
Block 32
394
Phi ← Constant#392, GetInlinedArgument#390
Value
395
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
396
DebugCheckSelfHosted ← Constant#395
Value
397
Constant undefined
Undefined
398
Constant 0x1
Int32
399
HasShape ← Unbox#343
Bool
400
Test ← HasShape#399 → block 33, block 34
1
0
Block 33
401
Constant shape at 104289c64f00
Shape
402
NewArrayObject ← Constant#401
Object
403
Goto → block 35
Block 34
404
CallGetIntrinsicValue
Value
405
DebugCheckSelfHosted ← CallGetIntrinsicValue#404
Value
406
Constant undefined
Undefined
407
Constant 0x0
Int32
408
Bail
713
Unreachable
Block 35
411
Phi ← NewArrayObject#402
Value
412
Constant 0x0
Int32
413
Constant 0x0
Int32
426
Goto → block 36
Block 36 (loop header)
414
Phi ← Constant#338, Constant#338
Value
415
Phi ← Constant#338, Constant#338
Value
416
Phi ← Phi#275, Phi#275
Value
417
Phi ← Lambda#333, Lambda#333
Value
418
Phi ← Unbox#343, Unbox#343
Value
419
Phi ← MinMax#352, MinMax#352
Value
420
Phi ← Phi#394, Phi#394
Value
421
Phi ← Phi#411, Phi#411
Value
422
Phi ← Constant#412, Add#475
Value
423
Phi ← Constant#413, Phi#471
Value
424
Phi ← Constant#338, Phi#472
Value
425
Phi ← Phi#275, Phi#275
Value
427
InterruptCheck
428
Unbox Phi#422 to Int32 (fallible)
Int32
429
Unbox Phi#419 to Int32 (fallible)
Int32
430
Compare ← Unbox#428, Unbox#429 Lt
Bool
431
Test ← Compare#430 → block 37, block 44
1
0
Block 37
432
Unbox Phi#418 to Object (fallible)
Object
433
Unbox Phi#422 to Int32 (fallible)
Int32
434
GuardShape ← Unbox#432
Object
435
Elements ← GuardShape#434
Elements
436
InitializedLength ← Elements#435
Int32
437
BoundsCheck ← Unbox#433, InitializedLength#436
Int32
438
SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436
Int32
439
GuardElementNotHole ← Elements#435, SpectreMaskIndex#438
440
Constant true
Bool
441
Test ← Constant#440 → block 38, block 42
1
0
Block 38
442
Unbox Phi#418 to Object (fallible)
Object
443
Unbox Phi#422 to Int32 (fallible)
Int32
444
GuardShape ← Unbox#442
Object
445
Elements ← GuardShape#444
Elements
446
InitializedLength ← Elements#445
Int32
447
BoundsCheck ← Unbox#443, InitializedLength#446
Int32
448
SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446
Int32
449
GuardElementsArePacked ← Elements#445
450
LoadElement ← Elements#445, SpectreMaskIndex#448
Value
451
Constant 0x3
Int32
452
Unbox Phi#417 to Object (fallible)
Object
453
GuardToFunction ← Unbox#452
Object
454
GuardFunctionScript ← GuardToFunction#453
Object
455
Goto → block 39
Block 39
456
Constant undefined
Undefined
457
Constant 0x32
Int32
458
Unbox LoadElement#450 to Double (fallible)
Double
459
Compare ← Unbox#458, Constant#457 Gt
Bool
461
Goto → block 40
Block 40
462
Test ← Compare#459 → block 41, block 42
1
0
Block 41
463
Unbox Phi#423 to Int32 (fallible)
Int32
464
Constant 0x1
Int32
465
Add ← Unbox#463, Constant#464 [int32]
Int32
466
Unbox Phi#421 to Object (fallible)
Object
467
GuardShape ← Unbox#466
Object
468
Elements ← GuardShape#467
Elements
469
StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450
470
Goto → block 42
Block 42 (backedge)
471
Phi ← Add#465, Phi#423, Phi#423
Value
472
Phi ← LoadElement#450, Phi#424, LoadElement#450
Value
473
Unbox Phi#422 to Int32 (fallible)
Int32
474
Constant 0x1
Int32
475
Add ← Unbox#473, Constant#474 [int32]
Int32
476
Goto → block 36
Block 44
479
Unbox Phi#421 to Object (fallible)
Object
480
GuardShape ← Unbox#479
Object
481
Constant object 104289c3e088 (Array)
Object
482
Constant function reduce (self-hosted:205) at 104289c479c0
Object
483
Constant function complex4/< (-e:18) at 104289c63d98
Object
484
Lambda ← FunctionEnvironment#179, Constant#483
Object
485
Constant 0x0
Int32
486
Constant 0x2
Int32
487
Constant function reduce (self-hosted:205) at 104289c479c0
Object
488
GuardSpecificFunction ← Constant#482, Constant#487
Object
489
Call ← GuardSpecificFunction#488, Phi#421, Lambda#484, Constant#485
Value
491
Goto → block 45
Block 45
492
Constant object 104289c3f040 (LexicalEnvironment)
Object
493
Constant object 104289c3e030 (global)
Object
494
Constant function complex5 (-e:21) at 104289c6c900
Object
495
Constant undefined
Undefined
496
Constant shape at 104289c64fc0
Shape
497
NewPlainObject ← Constant#496
Object
498
GuardShape ← NewPlainObject#497
Object
499
PostWriteBarrier ← GuardShape#498, Call#112
500
StoreFixedSlot ← GuardShape#498, Call#112 (slot 0)
501
GuardShape ← NewPlainObject#497
Object
502
PostWriteBarrier ← GuardShape#501, BitOr#137
503
StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1)
504
GuardShape ← NewPlainObject#497
Object
505
PostWriteBarrier ← GuardShape#504, Call#147
506
StoreFixedSlot ← GuardShape#504, Call#147 (slot 2)
507
Constant 0x1
Int32
508
Constant function complex5 (-e:21) at 104289c6c900
Object
509
GuardSpecificFunction ← Constant#494, Constant#508
Object
510
Goto → block 46
Block 46
511
Constant undefined
Undefined
512
FunctionEnvironment ← GuardSpecificFunction#509
Object
513
Constant object 104289c3f078 (Call)
Object
514
NewCallObject ← Constant#513
Object
515
AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512
516
AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509
517
StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0)
518
StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1)
519
PostWriteBarrier ← NewCallObject#514, NewPlainObject#497
520
StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2)
521
Constant object 104289c3f040 (LexicalEnvironment)
Object
522
Constant object 104289c3e030 (global)
Object
523
Constant function Object at 104289c422e0
Object
524
Constant function Object at 104289c422e0
Object
525
GuardObjectIdentity ← Constant#523, Constant#524
Object
526
Constant function keys at 104289c42468
Object
527
LoadFixedSlot ← NewCallObject#514 (slot 2)
Value
528
Constant 0x1
Int32
529
Constant function keys at 104289c42468
Object
530
GuardSpecificFunction ← Constant#526, Constant#529
Object
531
Unbox LoadFixedSlot#527 to Object (fallible)
Object
532
GuardIsNotProxy ← Unbox#531
Object
533
ObjectKeys ← GuardIsNotProxy#532
Object
534
GuardShape ← ObjectKeys#533
Object
535
Constant object 104289c3e088 (Array)
Object
536
Constant function map (self-hosted:163) at 104289c47920
Object
537
Constant function complex5/< (-e:22) at 104289c63e08
Object
538
Lambda ← NewCallObject#514, Constant#537
Object
539
Constant 0x1
Int32
540
Constant function map (self-hosted:163) at 104289c47920
Object
541
GuardSpecificFunction ← Constant#536, Constant#540
Object
542
Goto → block 47
Block 47
543
Constant undefined
Undefined
544
Constant function ToObject at 104289c6c740
Object
545
DebugCheckSelfHosted ← Constant#544
Value
546
Constant undefined
Undefined
547
Constant 0x1
Int32
548
Constant function ToLength at 104289c6c778
Object
549
DebugCheckSelfHosted ← Constant#548
Value
550
Constant undefined
Undefined
551
GuardShape ← ObjectKeys#533
Object
552
Elements ← GuardShape#551
Elements
553
ArrayLength ← Elements#552
Int32
554
Constant 0x1
Int32
555
Constant 0x0
Int32
556
MinMax ← ArrayLength#553, Constant#555 (max)
Int32
557
Constant 0x1
Int32
558
Constant 0x0
Int32
559
Compare ← Constant#557, Constant#558 StrictEq
Bool
560
Test ← Compare#559 → block 48, block 49
1
0
Block 48
561
CallGetIntrinsicValue
Value
562
DebugCheckSelfHosted ← CallGetIntrinsicValue#561
Value
563
Constant undefined
Undefined
564
Constant 0x37
Int32
565
Constant 0x0
Int32
566
Constant string 104289c2e080
String
567
Bail
712
Unreachable
Block 49
570
Constant function IsCallable at 104289c6c7b0
Object
571
DebugCheckSelfHosted ← Constant#570
Value
572
Constant undefined
Undefined
573
Constant 0x1
Int32
574
IsCallable ← Lambda#538
Bool
575
Test ← IsCallable#574 → block 51, block 50
1
0
Block 50
576
CallGetIntrinsicValue
Value
577
DebugCheckSelfHosted ← CallGetIntrinsicValue#576
Value
578
Constant undefined
Undefined
579
Constant 0xc
Int32
580
CallGetIntrinsicValue
Value
581
DebugCheckSelfHosted ← CallGetIntrinsicValue#580
Value
582
Constant undefined
Undefined
583
Constant 0x0
Int32
584
Bail
711
Unreachable
Block 51
589
Constant 0x1
Int32
590
Constant 0x1
Int32
591
Compare ← Constant#589, Constant#590 Gt
Bool
592
Test ← Compare#591 → block 52, block 53
1
0
Block 52
593
Constant 0x1
Int32
594
GetInlinedArgument ← Constant#593, Lambda#538
Value
595
Goto → block 54
Block 53
596
Constant undefined
Undefined
597
Goto → block 54
Block 54
598
Phi ← Constant#596, GetInlinedArgument#594
Value
599
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
600
DebugCheckSelfHosted ← Constant#599
Value
601
Constant undefined
Undefined
602
Constant 0x1
Int32
603
HasShape ← ObjectKeys#533
Bool
604
Test ← HasShape#603 → block 55, block 56
1
0
Block 55
605
Constant function std_Array at 104289c6c820
Object
606
DebugCheckSelfHosted ← Constant#605
Value
607
Constant undefined
Undefined
608
Constant 0x1
Int32
609
Unbox DebugCheckSelfHosted#606 to Object (fallible)
Object
610
Constant function std_Array at 104289c6c820
Object
611
GuardSpecificFunction ← Unbox#609, Constant#610
Object
612
NewArrayDynamicLength ← MinMax#556
Object
613
Goto → block 57
Block 56
614
CallGetIntrinsicValue
Value
615
DebugCheckSelfHosted ← CallGetIntrinsicValue#614
Value
616
Constant undefined
Undefined
617
Bail
710
Unreachable
Block 57
620
Phi ← NewArrayDynamicLength#612
Value
621
Constant 0x0
Int32
633
Goto → block 58
Block 58 (loop header)
622
Phi ← Constant#543, Constant#543
Value
623
Phi ← Constant#543, Constant#543
Value
624
Phi ← ObjectKeys#533, ObjectKeys#533
Value
625
Phi ← Lambda#538, Lambda#538
Value
626
Phi ← ObjectKeys#533, ObjectKeys#533
Value
627
Phi ← MinMax#556, MinMax#556
Value
628
Phi ← Phi#598, Phi#598
Value
629
Phi ← Phi#620, Phi#620
Value
630
Phi ← Constant#621, Add#679
Value
631
Phi ← Constant#543, Phi#676
Value
632
Phi ← ObjectKeys#533, ObjectKeys#533
Value
634
InterruptCheck
635
Unbox Phi#630 to Int32 (fallible)
Int32
636
Unbox Phi#627 to Int32 (fallible)
Int32
637
Compare ← Unbox#635, Unbox#636 Lt
Bool
638
Test ← Compare#637 → block 59, block 65
1
0
Block 59
639
Unbox Phi#626 to Object (fallible)
Object
640
Unbox Phi#630 to Int32 (fallible)
Int32
641
GuardShape ← Unbox#639
Object
642
Elements ← GuardShape#641
Elements
643
InitializedLength ← Elements#642
Int32
644
BoundsCheck ← Unbox#640, InitializedLength#643
Int32
645
SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643
Int32
646
GuardElementNotHole ← Elements#642, SpectreMaskIndex#645
647
Constant true
Bool
648
Test ← Constant#647 → block 60, block 63
1
0
Block 60
649
Unbox Phi#626 to Object (fallible)
Object
650
Unbox Phi#630 to Int32 (fallible)
Int32
651
GuardShape ← Unbox#649
Object
652
Elements ← GuardShape#651
Elements
653
InitializedLength ← Elements#652
Int32
654
BoundsCheck ← Unbox#650, InitializedLength#653
Int32
655
SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653
Int32
656
GuardElementsArePacked ← Elements#652
657
LoadElement ← Elements#652, SpectreMaskIndex#655
Value
658
Constant 0x3
Int32
659
Unbox Phi#625 to Object (fallible)
Object
660
GuardToFunction ← Unbox#659
Object
661
GuardFunctionScript ← GuardToFunction#660
Object
662
Goto → block 61
Block 61
663
Constant undefined
Undefined
664
FunctionEnvironment ← GuardFunctionScript#661
Object
665
LoadFixedSlot ← FunctionEnvironment#664 (slot 2)
Value
666
Unbox LoadFixedSlot#665 to Object (fallible)
Object
667
MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657
Value
669
Goto → block 62
Block 62
670
Unbox Phi#629 to Object (fallible)
Object
671
Unbox Phi#630 to Int32 (fallible)
Int32
672
GuardShape ← Unbox#670
Object
673
Elements ← GuardShape#672
Elements
674
StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667
675
Goto → block 63
Block 63 (backedge)
676
Phi ← MegamorphicLoadSlotByValue#667, Phi#631
Value
677
Unbox Phi#630 to Int32 (fallible)
Int32
678
Constant 0x1
Int32
679
Add ← Unbox#677, Constant#678 [int32]
Int32
680
Goto → block 58
Block 65
683
Unbox Phi#629 to Object (fallible)
Object
684
GuardShape ← Unbox#683
Object
685
Constant object 104289c3e088 (Array)
Object
686
Constant function reduce (self-hosted:205) at 104289c479c0
Object
687
Constant function complex5/< (-e:22) at 104289c63e40
Object
688
Lambda ← NewCallObject#514, Constant#687
Object
689
Constant 0x0
Int32
690
Constant 0x2
Int32
691
Constant function reduce (self-hosted:205) at 104289c479c0
Object
692
GuardSpecificFunction ← Constant#686, Constant#691
Object
693
Call ← GuardSpecificFunction#692, Phi#629, Lambda#688, Constant#689
Value
695
Goto → block 66
Block 66 (backedge)
696
Unbox Phi#95 to Int32 (fallible)
Int32
697
Constant 0x1
Int32
698
Add ← Unbox#696, Constant#697 [int32]
Int32
699
Goto → block 1
Block 67
700
Unbox Phi#88 to Double (fallible)
Double
701
Unbox Phi#89 to Double (fallible)
Double
702
Add ← Unbox#700, Unbox#701 [double]
Double
703
Unbox Phi#90 to Double (fallible)
Double
704
Add ← Add#702, Unbox#703 [double]
Double
705
Unbox Phi#92 to Double (fallible)
Double
706
Add ← Add#704, Unbox#705 [double]
Double
707
Unbox Phi#94 to Double (fallible)
Double
708
Add ← Add#706, Unbox#707 [double]
Double
709
Return ← Add#708
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant object 104289c3f040 (LexicalEnvironment)
Object
7
Constant object 104289c3e030 (global)
Object
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
9
Constant undefined
Undefined
10
Constant 0x1
Int32
11
Constant function complex1 (-e:2) at 104289c6c8c8
Object
12
GuardSpecificFunction ← Constant#8, Constant#11
Object
13
Call ← GuardSpecificFunction#12, Constant#9, Parameter#1
Value
14
Constant object 104289c3f040 (LexicalEnvironment)
Object
15
Constant object 104289c3e030 (global)
Object
16
Constant function complex2 (-e:7) at 104289c6c970
Object
17
Constant undefined
Undefined
18
Constant 0x1
Int32
19
Constant function complex2 (-e:7) at 104289c6c970
Object
20
GuardSpecificFunction ← Constant#16, Constant#19
Object
21
Call ← GuardSpecificFunction#20, Constant#17, Parameter#1
Value
22
Constant object 104289c3f040 (LexicalEnvironment)
Object
23
Constant object 104289c3e030 (global)
Object
24
Constant function complex3 (-e:11) at 104289c6c938
Object
25
Constant undefined
Undefined
26
Constant 0x2
Int32
27
Constant function complex3 (-e:11) at 104289c6c938
Object
28
GuardSpecificFunction ← Constant#24, Constant#27
Object
29
Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
52
Constant object 104289c3f040 (LexicalEnvironment)
Object
53
Constant object 104289c3e030 (global)
Object
54
Constant function complex4 (-e:17) at 104289c6c890
Object
55
Constant undefined
Undefined
56
Constant 0x1
Int32
57
Constant function complex4 (-e:17) at 104289c6c890
Object
58
GuardSpecificFunction ← Constant#54, Constant#57
Object
59
Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
65
GuardShape ← NewPlainObject#61
Object
66
PostWriteBarrier ← GuardShape#65, Call#21
67
StoreFixedSlot ← GuardShape#65, Call#21 (slot 1)
68
GuardShape ← NewPlainObject#61
Object
69
PostWriteBarrier ← GuardShape#68, Call#29
70
StoreFixedSlot ← GuardShape#68, Call#29 (slot 2)
71
GuardShape ← NewPlainObject#61
Object
72
PostWriteBarrier ← GuardShape#71, Call#59
73
StoreFixedSlot ← GuardShape#71, Call#59 (slot 3)
74
Constant object 104289c3f040 (LexicalEnvironment)
Object
75
Constant object 104289c3e030 (global)
Object
76
Constant function complex5 (-e:21) at 104289c6c900
Object
77
Constant undefined
Undefined
78
Constant 0x1
Int32
79
Constant function complex5 (-e:21) at 104289c6c900
Object
80
GuardSpecificFunction ← Constant#76, Constant#79
Object
81
Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61
Value
82
Constant magic uninitialized-lexical
MagicUninitializedLexical
83
Constant 0x0
Int32
96
Goto → block 1
Block 1 (loop header)
84
Phi ← Constant#2, Constant#2
Value
85
Phi ← Constant#2, Constant#2
Value
86
Phi ← Parameter#0, Parameter#0
Value
87
Phi ← Parameter#1, Parameter#1
Value
88
Phi ← Call#13, Call#112
Value
89
Phi ← Call#21, BitOr#137
Value
90
Phi ← Call#29, Call#147
Value
91
Phi ← NewArrayObject#31, NewArrayObject#31
Value
92
Phi ← Call#59, Call#489
Value
93
Phi ← NewPlainObject#61, NewPlainObject#61
Value
94
Phi ← Call#81, Call#693
Value
95
Phi ← Constant#83, Add#698
Value
97
InterruptCheck
98
Constant 0xa
Int32
99
Unbox Phi#95 to Int32 (fallible)
Int32
100
Compare ← Unbox#99, Constant#98 Lt
Bool
101
Test ← Compare#100 → block 2, block 67
1
0
Block 2
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant function complex1 (-e:2) at 104289c6c8c8
Object
105
Constant undefined
Undefined
106
Unbox Phi#88 to Double (fallible)
Double
107
Unbox Phi#95 to Double (fallible)
Double
108
Add ← Unbox#106, Unbox#107 [double]
Double
109
Constant 0x1
Int32
110
Constant function complex1 (-e:2) at 104289c6c8c8
Object
111
GuardSpecificFunction ← Constant#104, Constant#110
Object
112
Call ← GuardSpecificFunction#111, Constant#105, Add#108
Value
113
Constant object 104289c3f040 (LexicalEnvironment)
Object
114
Constant object 104289c3e030 (global)
Object
115
Constant function complex2 (-e:7) at 104289c6c970
Object
116
Constant undefined
Undefined
117
Unbox Phi#89 to Int32 (fallible)
Int32
118
Unbox Phi#95 to Int32 (fallible)
Int32
119
Add ← Unbox#117, Unbox#118 [int32]
Int32
120
Constant 0x1
Int32
121
Constant function complex2 (-e:7) at 104289c6c970
Object
122
GuardSpecificFunction ← Constant#115, Constant#121
Object
123
Goto → block 3
Block 3
124
Constant undefined
Undefined
125
Constant 0x1
Int32
126
Lsh ← Add#119, Constant#125
Int32
127
Constant 0x1
Int32
128
Rsh ← Add#119, Constant#127
Int32
129
Constant 0xff
Int32
130
BitAnd ← Add#119, Constant#129
Int32
131
Constant 0x2
Int32
132
Ursh ← Add#119, Constant#131
Int32
133
Add ← BitAnd#130, Ursh#132 [int32]
Int32
134
BitNot ← Add#119
Int32
135
Sub ← Add#133, BitNot#134 [int32]
Int32
136
BitXor ← Rsh#128, Sub#135
Int32
137
BitOr ← Lsh#126, BitXor#136
Int32
139
Goto → block 4
Block 4
140
Constant object 104289c3f040 (LexicalEnvironment)
Object
141
Constant object 104289c3e030 (global)
Object
142
Constant function complex3 (-e:11) at 104289c6c938
Object
143
Constant undefined
Undefined
144
Constant 0x2
Int32
145
Constant function complex3 (-e:11) at 104289c6c938
Object
146
GuardSpecificFunction ← Constant#142, Constant#145
Object
147
Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112
Value
148
Constant object 104289c3f040 (LexicalEnvironment)
Object
149
Constant object 104289c3e030 (global)
Object
150
Constant function complex4 (-e:17) at 104289c6c890
Object
151
Constant undefined
Undefined
152
Constant shape at 104289c64f00
Shape
153
NewArrayObject ← Constant#152
Object
154
Constant 0x0
Int32
155
Elements ← NewArrayObject#153
Elements
156
PostWriteBarrier ← NewArrayObject#153, Call#112
157
StoreElement ← Elements#155, Constant#154, Call#112
158
SetInitializedLength ← Elements#155, Constant#154
159
Constant 0x1
Int32
160
Elements ← NewArrayObject#153
Elements
161
PostWriteBarrier ← NewArrayObject#153, BitOr#137
162
StoreElement ← Elements#160, Constant#159, BitOr#137
163
SetInitializedLength ← Elements#160, Constant#159
164
Constant 0x2
Int32
165
Elements ← NewArrayObject#153
Elements
166
PostWriteBarrier ← NewArrayObject#153, Call#147
167
StoreElement ← Elements#165, Constant#164, Call#147
168
SetInitializedLength ← Elements#165, Constant#164
169
Constant 0x3
Int32
170
Elements ← NewArrayObject#153
Elements
171
PostWriteBarrier ← NewArrayObject#153, Phi#95
172
StoreElement ← Elements#170, Constant#169, Phi#95
173
SetInitializedLength ← Elements#170, Constant#169
174
Constant 0x1
Int32
175
Constant function complex4 (-e:17) at 104289c6c890
Object
176
GuardSpecificFunction ← Constant#150, Constant#175
Object
177
Goto → block 5
Block 5
178
Constant undefined
Undefined
179
FunctionEnvironment ← GuardSpecificFunction#176
Object
180
GuardShape ← NewArrayObject#153
Object
181
Constant object 104289c3e088 (Array)
Object
182
Constant function map (self-hosted:163) at 104289c47920
Object
183
Constant function complex4/< (-e:18) at 104289c63d28
Object
184
Lambda ← FunctionEnvironment#179, Constant#183
Object
185
Constant 0x1
Int32
186
Constant function map (self-hosted:163) at 104289c47920
Object
187
GuardSpecificFunction ← Constant#182, Constant#186
Object
188
Goto → block 6
Block 6
189
Constant undefined
Undefined
190
Constant function ToObject at 104289c6c740
Object
191
DebugCheckSelfHosted ← Constant#190
Value
192
Constant undefined
Undefined
193
Constant 0x1
Int32
194
Constant function ToLength at 104289c6c778
Object
195
DebugCheckSelfHosted ← Constant#194
Value
196
Constant undefined
Undefined
197
GuardShape ← NewArrayObject#153
Object
198
Elements ← GuardShape#197
Elements
199
ArrayLength ← Elements#198
Int32
200
Constant 0x1
Int32
201
Constant 0x0
Int32
202
MinMax ← ArrayLength#199, Constant#201 (max)
Int32
203
Constant 0x1
Int32
204
Constant 0x0
Int32
205
Compare ← Constant#203, Constant#204 StrictEq
Bool
206
Test ← Compare#205 → block 7, block 8
1
0
Block 7
207
CallGetIntrinsicValue
Value
208
DebugCheckSelfHosted ← CallGetIntrinsicValue#207
Value
209
Constant undefined
Undefined
210
Constant 0x37
Int32
211
Constant 0x0
Int32
212
Constant string 104289c2e080
String
213
Bail
718
Unreachable
Block 8
216
Constant function IsCallable at 104289c6c7b0
Object
217
DebugCheckSelfHosted ← Constant#216
Value
218
Constant undefined
Undefined
219
Constant 0x1
Int32
220
IsCallable ← Lambda#184
Bool
221
Test ← IsCallable#220 → block 10, block 9
1
0
Block 9
222
CallGetIntrinsicValue
Value
223
DebugCheckSelfHosted ← CallGetIntrinsicValue#222
Value
224
Constant undefined
Undefined
225
Constant 0xc
Int32
226
CallGetIntrinsicValue
Value
227
DebugCheckSelfHosted ← CallGetIntrinsicValue#226
Value
228
Constant undefined
Undefined
229
Constant 0x0
Int32
230
Bail
717
Unreachable
Block 10
235
Constant 0x1
Int32
236
Constant 0x1
Int32
237
Compare ← Constant#235, Constant#236 Gt
Bool
238
Test ← Compare#237 → block 11, block 12
1
0
Block 11
239
Constant 0x1
Int32
240
GetInlinedArgument ← Constant#239, Lambda#184
Value
241
Goto → block 13
Block 12
242
Constant undefined
Undefined
243
Goto → block 13
Block 13
244
Phi ← Constant#242, GetInlinedArgument#240
Value
245
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
246
DebugCheckSelfHosted ← Constant#245
Value
247
Constant undefined
Undefined
248
Constant 0x1
Int32
249
HasShape ← NewArrayObject#153
Bool
250
Test ← HasShape#249 → block 14, block 15
1
0
Block 14
251
Constant function std_Array at 104289c6c820
Object
252
DebugCheckSelfHosted ← Constant#251
Value
253
Constant undefined
Undefined
254
Constant 0x1
Int32
255
Unbox DebugCheckSelfHosted#252 to Object (fallible)
Object
256
Constant function std_Array at 104289c6c820
Object
257
GuardSpecificFunction ← Unbox#255, Constant#256
Object
258
NewArrayDynamicLength ← MinMax#202
Object
259
Goto → block 16
Block 15
260
CallGetIntrinsicValue
Value
261
DebugCheckSelfHosted ← CallGetIntrinsicValue#260
Value
262
Constant undefined
Undefined
263
Bail
716
Unreachable
Block 16
266
Phi ← NewArrayDynamicLength#258
Value
267
Constant 0x0
Int32
279
Goto → block 17
Block 17 (loop header)
268
Phi ← Constant#189, Constant#189
Value
269
Phi ← Constant#189, Constant#189
Value
270
Phi ← NewArrayObject#153, NewArrayObject#153
Value
271
Phi ← Lambda#184, Lambda#184
Value
272
Phi ← NewArrayObject#153, NewArrayObject#153
Value
273
Phi ← MinMax#202, MinMax#202
Value
274
Phi ← Phi#244, Phi#244
Value
275
Phi ← Phi#266, Phi#266
Value
276
Phi ← Constant#267, Add#324
Value
277
Phi ← Constant#189, Phi#321
Value
278
Phi ← NewArrayObject#153, NewArrayObject#153
Value
280
InterruptCheck
281
Unbox Phi#276 to Int32 (fallible)
Int32
282
Unbox Phi#273 to Int32 (fallible)
Int32
283
Compare ← Unbox#281, Unbox#282 Lt
Bool
284
Test ← Compare#283 → block 18, block 24
1
0
Block 18
285
Unbox Phi#272 to Object (fallible)
Object
286
Unbox Phi#276 to Int32 (fallible)
Int32
287
GuardShape ← Unbox#285
Object
288
Elements ← GuardShape#287
Elements
289
InitializedLength ← Elements#288
Int32
290
BoundsCheck ← Unbox#286, InitializedLength#289
Int32
291
SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289
Int32
292
GuardElementNotHole ← Elements#288, SpectreMaskIndex#291
293
Constant true
Bool
294
Test ← Constant#293 → block 19, block 22
1
0
Block 19
295
Unbox Phi#272 to Object (fallible)
Object
296
Unbox Phi#276 to Int32 (fallible)
Int32
297
GuardShape ← Unbox#295
Object
298
Elements ← GuardShape#297
Elements
299
InitializedLength ← Elements#298
Int32
300
BoundsCheck ← Unbox#296, InitializedLength#299
Int32
301
SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299
Int32
302
GuardElementsArePacked ← Elements#298
303
LoadElement ← Elements#298, SpectreMaskIndex#301
Value
304
Constant 0x3
Int32
305
Unbox Phi#271 to Object (fallible)
Object
306
GuardToFunction ← Unbox#305
Object
307
GuardFunctionScript ← GuardToFunction#306
Object
308
Goto → block 20
Block 20
309
Constant undefined
Undefined
310
Constant 0x2
Int32
311
Unbox LoadElement#303 to Double (fallible)
Double
312
Mul ← Unbox#311, Constant#310 [double]
Double
314
Goto → block 21
Block 21
315
Unbox Phi#275 to Object (fallible)
Object
316
Unbox Phi#276 to Int32 (fallible)
Int32
317
GuardShape ← Unbox#315
Object
318
Elements ← GuardShape#317
Elements
319
StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312
320
Goto → block 22
Block 22 (backedge)
321
Phi ← Mul#312, Phi#277
Value
322
Unbox Phi#276 to Int32 (fallible)
Int32
323
Constant 0x1
Int32
324
Add ← Unbox#322, Constant#323 [int32]
Int32
325
Goto → block 17
Block 24
328
Unbox Phi#275 to Object (fallible)
Object
329
GuardShape ← Unbox#328
Object
330
Constant object 104289c3e088 (Array)
Object
331
Constant function filter (self-hosted:183) at 104289c47970
Object
332
Constant function complex4/< (-e:18) at 104289c63d60
Object
333
Lambda ← FunctionEnvironment#179, Constant#332
Object
334
Constant 0x1
Int32
335
Constant function filter (self-hosted:183) at 104289c47970
Object
336
GuardSpecificFunction ← Constant#331, Constant#335
Object
337
Goto → block 25
Block 25
338
Constant undefined
Undefined
339
Constant function ToObject at 104289c6c740
Object
340
DebugCheckSelfHosted ← Constant#339
Value
341
Constant undefined
Undefined
342
Constant 0x1
Int32
343
Unbox Phi#275 to Object (fallible)
Object
344
Constant function ToLength at 104289c6c778
Object
345
DebugCheckSelfHosted ← Constant#344
Value
346
Constant undefined
Undefined
347
GuardShape ← Unbox#343
Object
348
Elements ← GuardShape#347
Elements
349
ArrayLength ← Elements#348
Int32
350
Constant 0x1
Int32
351
Constant 0x0
Int32
352
MinMax ← ArrayLength#349, Constant#351 (max)
Int32
353
Constant 0x1
Int32
354
Constant 0x0
Int32
355
Compare ← Constant#353, Constant#354 StrictEq
Bool
356
Test ← Compare#355 → block 26, block 27
1
0
Block 26
357
CallGetIntrinsicValue
Value
358
DebugCheckSelfHosted ← CallGetIntrinsicValue#357
Value
359
Constant undefined
Undefined
360
Constant 0x37
Int32
361
Constant 0x0
Int32
362
Constant string 104289c28540
String
363
Bail
715
Unreachable
Block 27
366
Constant function IsCallable at 104289c6c7b0
Object
367
DebugCheckSelfHosted ← Constant#366
Value
368
Constant undefined
Undefined
369
Constant 0x1
Int32
370
IsCallable ← Lambda#333
Bool
371
Test ← IsCallable#370 → block 29, block 28
1
0
Block 28
372
CallGetIntrinsicValue
Value
373
DebugCheckSelfHosted ← CallGetIntrinsicValue#372
Value
374
Constant undefined
Undefined
375
Constant 0xc
Int32
376
CallGetIntrinsicValue
Value
377
DebugCheckSelfHosted ← CallGetIntrinsicValue#376
Value
378
Constant undefined
Undefined
379
Constant 0x0
Int32
380
Bail
714
Unreachable
Block 29
385
Constant 0x1
Int32
386
Constant 0x1
Int32
387
Compare ← Constant#385, Constant#386 Gt
Bool
388
Test ← Compare#387 → block 30, block 31
1
0
Block 30
389
Constant 0x1
Int32
390
GetInlinedArgument ← Constant#389, Lambda#333
Value
391
Goto → block 32
Block 31
392
Constant undefined
Undefined
393
Goto → block 32
Block 32
394
Phi ← Constant#392, GetInlinedArgument#390
Value
395
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
396
DebugCheckSelfHosted ← Constant#395
Value
397
Constant undefined
Undefined
398
Constant 0x1
Int32
399
HasShape ← Unbox#343
Bool
400
Test ← HasShape#399 → block 33, block 34
1
0
Block 33
401
Constant shape at 104289c64f00
Shape
402
NewArrayObject ← Constant#401
Object
403
Goto → block 35
Block 34
404
CallGetIntrinsicValue
Value
405
DebugCheckSelfHosted ← CallGetIntrinsicValue#404
Value
406
Constant undefined
Undefined
407
Constant 0x0
Int32
408
Bail
713
Unreachable
Block 35
411
Phi ← NewArrayObject#402
Value
412
Constant 0x0
Int32
413
Constant 0x0
Int32
426
Goto → block 36
Block 36 (loop header)
414
Phi ← Constant#338, Constant#338
Value
415
Phi ← Constant#338, Constant#338
Value
416
Phi ← Phi#275, Phi#275
Value
417
Phi ← Lambda#333, Lambda#333
Value
418
Phi ← Unbox#343, Unbox#343
Value
419
Phi ← MinMax#352, MinMax#352
Value
420
Phi ← Phi#394, Phi#394
Value
421
Phi ← Phi#411, Phi#411
Value
422
Phi ← Constant#412, Add#475
Value
423
Phi ← Constant#413, Phi#471
Value
424
Phi ← Constant#338, Phi#472
Value
425
Phi ← Phi#275, Phi#275
Value
427
InterruptCheck
428
Unbox Phi#422 to Int32 (fallible)
Int32
429
Unbox Phi#419 to Int32 (fallible)
Int32
430
Compare ← Unbox#428, Unbox#429 Lt
Bool
431
Test ← Compare#430 → block 37, block 44
1
0
Block 37
432
Unbox Phi#418 to Object (fallible)
Object
433
Unbox Phi#422 to Int32 (fallible)
Int32
434
GuardShape ← Unbox#432
Object
435
Elements ← GuardShape#434
Elements
436
InitializedLength ← Elements#435
Int32
437
BoundsCheck ← Unbox#433, InitializedLength#436
Int32
438
SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436
Int32
439
GuardElementNotHole ← Elements#435, SpectreMaskIndex#438
440
Constant true
Bool
441
Test ← Constant#440 → block 38, block 42
1
0
Block 38
442
Unbox Phi#418 to Object (fallible)
Object
443
Unbox Phi#422 to Int32 (fallible)
Int32
444
GuardShape ← Unbox#442
Object
445
Elements ← GuardShape#444
Elements
446
InitializedLength ← Elements#445
Int32
447
BoundsCheck ← Unbox#443, InitializedLength#446
Int32
448
SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446
Int32
449
GuardElementsArePacked ← Elements#445
450
LoadElement ← Elements#445, SpectreMaskIndex#448
Value
451
Constant 0x3
Int32
452
Unbox Phi#417 to Object (fallible)
Object
453
GuardToFunction ← Unbox#452
Object
454
GuardFunctionScript ← GuardToFunction#453
Object
455
Goto → block 39
Block 39
456
Constant undefined
Undefined
457
Constant 0x32
Int32
458
Unbox LoadElement#450 to Double (fallible)
Double
459
Compare ← Unbox#458, Constant#457 Gt
Bool
461
Goto → block 40
Block 40
462
Test ← Compare#459 → block 41, block 42
1
0
Block 41
463
Unbox Phi#423 to Int32 (fallible)
Int32
464
Constant 0x1
Int32
465
Add ← Unbox#463, Constant#464 [int32]
Int32
466
Unbox Phi#421 to Object (fallible)
Object
467
GuardShape ← Unbox#466
Object
468
Elements ← GuardShape#467
Elements
469
StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450
470
Goto → block 42
Block 42 (backedge)
471
Phi ← Add#465, Phi#423, Phi#423
Value
472
Phi ← LoadElement#450, Phi#424, LoadElement#450
Value
473
Unbox Phi#422 to Int32 (fallible)
Int32
474
Constant 0x1
Int32
475
Add ← Unbox#473, Constant#474 [int32]
Int32
476
Goto → block 36
Block 44
479
Unbox Phi#421 to Object (fallible)
Object
480
GuardShape ← Unbox#479
Object
481
Constant object 104289c3e088 (Array)
Object
482
Constant function reduce (self-hosted:205) at 104289c479c0
Object
483
Constant function complex4/< (-e:18) at 104289c63d98
Object
484
Lambda ← FunctionEnvironment#179, Constant#483
Object
485
Constant 0x0
Int32
486
Constant 0x2
Int32
487
Constant function reduce (self-hosted:205) at 104289c479c0
Object
488
GuardSpecificFunction ← Constant#482, Constant#487
Object
489
Call ← GuardSpecificFunction#488, Phi#421, Lambda#484, Constant#485
Value
491
Goto → block 45
Block 45
492
Constant object 104289c3f040 (LexicalEnvironment)
Object
493
Constant object 104289c3e030 (global)
Object
494
Constant function complex5 (-e:21) at 104289c6c900
Object
495
Constant undefined
Undefined
496
Constant shape at 104289c64fc0
Shape
497
NewPlainObject ← Constant#496
Object
498
GuardShape ← NewPlainObject#497
Object
499
PostWriteBarrier ← GuardShape#498, Call#112
500
StoreFixedSlot ← GuardShape#498, Call#112 (slot 0)
501
GuardShape ← NewPlainObject#497
Object
502
PostWriteBarrier ← GuardShape#501, BitOr#137
503
StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1)
504
GuardShape ← NewPlainObject#497
Object
505
PostWriteBarrier ← GuardShape#504, Call#147
506
StoreFixedSlot ← GuardShape#504, Call#147 (slot 2)
507
Constant 0x1
Int32
508
Constant function complex5 (-e:21) at 104289c6c900
Object
509
GuardSpecificFunction ← Constant#494, Constant#508
Object
510
Goto → block 46
Block 46
511
Constant undefined
Undefined
512
FunctionEnvironment ← GuardSpecificFunction#509
Object
513
Constant object 104289c3f078 (Call)
Object
514
NewCallObject ← Constant#513
Object
515
AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512
516
AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509
517
StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0)
518
StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1)
519
PostWriteBarrier ← NewCallObject#514, NewPlainObject#497
520
StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2)
521
Constant object 104289c3f040 (LexicalEnvironment)
Object
522
Constant object 104289c3e030 (global)
Object
523
Constant function Object at 104289c422e0
Object
524
Constant function Object at 104289c422e0
Object
525
GuardObjectIdentity ← Constant#523, Constant#524
Object
526
Constant function keys at 104289c42468
Object
527
LoadFixedSlot ← NewCallObject#514 (slot 2)
Value
528
Constant 0x1
Int32
529
Constant function keys at 104289c42468
Object
530
GuardSpecificFunction ← Constant#526, Constant#529
Object
531
Unbox LoadFixedSlot#527 to Object (fallible)
Object
532
GuardIsNotProxy ← Unbox#531
Object
533
ObjectKeys ← GuardIsNotProxy#532
Object
534
GuardShape ← ObjectKeys#533
Object
535
Constant object 104289c3e088 (Array)
Object
536
Constant function map (self-hosted:163) at 104289c47920
Object
537
Constant function complex5/< (-e:22) at 104289c63e08
Object
538
Lambda ← NewCallObject#514, Constant#537
Object
539
Constant 0x1
Int32
540
Constant function map (self-hosted:163) at 104289c47920
Object
541
GuardSpecificFunction ← Constant#536, Constant#540
Object
542
Goto → block 47
Block 47
543
Constant undefined
Undefined
544
Constant function ToObject at 104289c6c740
Object
545
DebugCheckSelfHosted ← Constant#544
Value
546
Constant undefined
Undefined
547
Constant 0x1
Int32
548
Constant function ToLength at 104289c6c778
Object
549
DebugCheckSelfHosted ← Constant#548
Value
550
Constant undefined
Undefined
551
GuardShape ← ObjectKeys#533
Object
552
Elements ← GuardShape#551
Elements
553
ArrayLength ← Elements#552
Int32
554
Constant 0x1
Int32
555
Constant 0x0
Int32
556
MinMax ← ArrayLength#553, Constant#555 (max)
Int32
557
Constant 0x1
Int32
558
Constant 0x0
Int32
559
Compare ← Constant#557, Constant#558 StrictEq
Bool
560
Test ← Compare#559 → block 48, block 49
1
0
Block 48
561
CallGetIntrinsicValue
Value
562
DebugCheckSelfHosted ← CallGetIntrinsicValue#561
Value
563
Constant undefined
Undefined
564
Constant 0x37
Int32
565
Constant 0x0
Int32
566
Constant string 104289c2e080
String
567
Bail
712
Unreachable
Block 49
570
Constant function IsCallable at 104289c6c7b0
Object
571
DebugCheckSelfHosted ← Constant#570
Value
572
Constant undefined
Undefined
573
Constant 0x1
Int32
574
IsCallable ← Lambda#538
Bool
575
Test ← IsCallable#574 → block 51, block 50
1
0
Block 50
576
CallGetIntrinsicValue
Value
577
DebugCheckSelfHosted ← CallGetIntrinsicValue#576
Value
578
Constant undefined
Undefined
579
Constant 0xc
Int32
580
CallGetIntrinsicValue
Value
581
DebugCheckSelfHosted ← CallGetIntrinsicValue#580
Value
582
Constant undefined
Undefined
583
Constant 0x0
Int32
584
Bail
711
Unreachable
Block 51
589
Constant 0x1
Int32
590
Constant 0x1
Int32
591
Compare ← Constant#589, Constant#590 Gt
Bool
592
Test ← Compare#591 → block 52, block 53
1
0
Block 52
593
Constant 0x1
Int32
594
GetInlinedArgument ← Constant#593, Lambda#538
Value
595
Goto → block 54
Block 53
596
Constant undefined
Undefined
597
Goto → block 54
Block 54
598
Phi ← Constant#596, GetInlinedArgument#594
Value
599
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
600
DebugCheckSelfHosted ← Constant#599
Value
601
Constant undefined
Undefined
602
Constant 0x1
Int32
603
HasShape ← ObjectKeys#533
Bool
604
Test ← HasShape#603 → block 55, block 56
1
0
Block 55
605
Constant function std_Array at 104289c6c820
Object
606
DebugCheckSelfHosted ← Constant#605
Value
607
Constant undefined
Undefined
608
Constant 0x1
Int32
609
Unbox DebugCheckSelfHosted#606 to Object (fallible)
Object
610
Constant function std_Array at 104289c6c820
Object
611
GuardSpecificFunction ← Unbox#609, Constant#610
Object
612
NewArrayDynamicLength ← MinMax#556
Object
613
Goto → block 57
Block 56
614
CallGetIntrinsicValue
Value
615
DebugCheckSelfHosted ← CallGetIntrinsicValue#614
Value
616
Constant undefined
Undefined
617
Bail
710
Unreachable
Block 57
620
Phi ← NewArrayDynamicLength#612
Value
621
Constant 0x0
Int32
633
Goto → block 58
Block 58 (loop header)
622
Phi ← Constant#543, Constant#543
Value
623
Phi ← Constant#543, Constant#543
Value
624
Phi ← ObjectKeys#533, ObjectKeys#533
Value
625
Phi ← Lambda#538, Lambda#538
Value
626
Phi ← ObjectKeys#533, ObjectKeys#533
Value
627
Phi ← MinMax#556, MinMax#556
Value
628
Phi ← Phi#598, Phi#598
Value
629
Phi ← Phi#620, Phi#620
Value
630
Phi ← Constant#621, Add#679
Value
631
Phi ← Constant#543, Phi#676
Value
632
Phi ← ObjectKeys#533, ObjectKeys#533
Value
634
InterruptCheck
635
Unbox Phi#630 to Int32 (fallible)
Int32
636
Unbox Phi#627 to Int32 (fallible)
Int32
637
Compare ← Unbox#635, Unbox#636 Lt
Bool
638
Test ← Compare#637 → block 59, block 65
1
0
Block 59
639
Unbox Phi#626 to Object (fallible)
Object
640
Unbox Phi#630 to Int32 (fallible)
Int32
641
GuardShape ← Unbox#639
Object
642
Elements ← GuardShape#641
Elements
643
InitializedLength ← Elements#642
Int32
644
BoundsCheck ← Unbox#640, InitializedLength#643
Int32
645
SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643
Int32
646
GuardElementNotHole ← Elements#642, SpectreMaskIndex#645
647
Constant true
Bool
648
Test ← Constant#647 → block 60, block 63
1
0
Block 60
649
Unbox Phi#626 to Object (fallible)
Object
650
Unbox Phi#630 to Int32 (fallible)
Int32
651
GuardShape ← Unbox#649
Object
652
Elements ← GuardShape#651
Elements
653
InitializedLength ← Elements#652
Int32
654
BoundsCheck ← Unbox#650, InitializedLength#653
Int32
655
SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653
Int32
656
GuardElementsArePacked ← Elements#652
657
LoadElement ← Elements#652, SpectreMaskIndex#655
Value
658
Constant 0x3
Int32
659
Unbox Phi#625 to Object (fallible)
Object
660
GuardToFunction ← Unbox#659
Object
661
GuardFunctionScript ← GuardToFunction#660
Object
662
Goto → block 61
Block 61
663
Constant undefined
Undefined
664
FunctionEnvironment ← GuardFunctionScript#661
Object
665
LoadFixedSlot ← FunctionEnvironment#664 (slot 2)
Value
666
Unbox LoadFixedSlot#665 to Object (fallible)
Object
667
MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657
Value
669
Goto → block 62
Block 62
670
Unbox Phi#629 to Object (fallible)
Object
671
Unbox Phi#630 to Int32 (fallible)
Int32
672
GuardShape ← Unbox#670
Object
673
Elements ← GuardShape#672
Elements
674
StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667
675
Goto → block 63
Block 63 (backedge)
676
Phi ← MegamorphicLoadSlotByValue#667, Phi#631
Value
677
Unbox Phi#630 to Int32 (fallible)
Int32
678
Constant 0x1
Int32
679
Add ← Unbox#677, Constant#678 [int32]
Int32
680
Goto → block 58
Block 65
683
Unbox Phi#629 to Object (fallible)
Object
684
GuardShape ← Unbox#683
Object
685
Constant object 104289c3e088 (Array)
Object
686
Constant function reduce (self-hosted:205) at 104289c479c0
Object
687
Constant function complex5/< (-e:22) at 104289c63e40
Object
688
Lambda ← NewCallObject#514, Constant#687
Object
689
Constant 0x0
Int32
690
Constant 0x2
Int32
691
Constant function reduce (self-hosted:205) at 104289c479c0
Object
692
GuardSpecificFunction ← Constant#686, Constant#691
Object
693
Call ← GuardSpecificFunction#692, Phi#629, Lambda#688, Constant#689
Value
695
Goto → block 66
Block 66 (backedge)
696
Unbox Phi#95 to Int32 (fallible)
Int32
697
Constant 0x1
Int32
698
Add ← Unbox#696, Constant#697 [int32]
Int32
699
Goto → block 1
Block 67
700
Unbox Phi#88 to Double (fallible)
Double
701
Unbox Phi#89 to Double (fallible)
Double
702
Add ← Unbox#700, Unbox#701 [double]
Double
703
Unbox Phi#90 to Double (fallible)
Double
704
Add ← Add#702, Unbox#703 [double]
Double
705
Unbox Phi#92 to Double (fallible)
Double
706
Add ← Add#704, Unbox#705 [double]
Double
707
Unbox Phi#94 to Double (fallible)
Double
708
Add ← Add#706, Unbox#707 [double]
Double
709
Return ← Add#708
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant object 104289c3f040 (LexicalEnvironment)
Object
7
Constant object 104289c3e030 (global)
Object
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
9
Constant undefined
Undefined
10
Constant 0x1
Int32
11
Constant function complex1 (-e:2) at 104289c6c8c8
Object
12
GuardSpecificFunction ← Constant#8, Constant#11
Object
13
Call ← GuardSpecificFunction#12, Constant#9, Parameter#1
Value
14
Constant object 104289c3f040 (LexicalEnvironment)
Object
15
Constant object 104289c3e030 (global)
Object
16
Constant function complex2 (-e:7) at 104289c6c970
Object
17
Constant undefined
Undefined
18
Constant 0x1
Int32
19
Constant function complex2 (-e:7) at 104289c6c970
Object
20
GuardSpecificFunction ← Constant#16, Constant#19
Object
21
Call ← GuardSpecificFunction#20, Constant#17, Parameter#1
Value
22
Constant object 104289c3f040 (LexicalEnvironment)
Object
23
Constant object 104289c3e030 (global)
Object
24
Constant function complex3 (-e:11) at 104289c6c938
Object
25
Constant undefined
Undefined
26
Constant 0x2
Int32
27
Constant function complex3 (-e:11) at 104289c6c938
Object
28
GuardSpecificFunction ← Constant#24, Constant#27
Object
29
Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
52
Constant object 104289c3f040 (LexicalEnvironment)
Object
53
Constant object 104289c3e030 (global)
Object
54
Constant function complex4 (-e:17) at 104289c6c890
Object
55
Constant undefined
Undefined
56
Constant 0x1
Int32
57
Constant function complex4 (-e:17) at 104289c6c890
Object
58
GuardSpecificFunction ← Constant#54, Constant#57
Object
59
Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
65
GuardShape ← NewPlainObject#61
Object
66
PostWriteBarrier ← GuardShape#65, Call#21
67
StoreFixedSlot ← GuardShape#65, Call#21 (slot 1)
68
GuardShape ← NewPlainObject#61
Object
69
PostWriteBarrier ← GuardShape#68, Call#29
70
StoreFixedSlot ← GuardShape#68, Call#29 (slot 2)
71
GuardShape ← NewPlainObject#61
Object
72
PostWriteBarrier ← GuardShape#71, Call#59
73
StoreFixedSlot ← GuardShape#71, Call#59 (slot 3)
74
Constant object 104289c3f040 (LexicalEnvironment)
Object
75
Constant object 104289c3e030 (global)
Object
76
Constant function complex5 (-e:21) at 104289c6c900
Object
77
Constant undefined
Undefined
78
Constant 0x1
Int32
79
Constant function complex5 (-e:21) at 104289c6c900
Object
80
GuardSpecificFunction ← Constant#76, Constant#79
Object
81
Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61
Value
82
Constant magic uninitialized-lexical
MagicUninitializedLexical
83
Constant 0x0
Int32
96
Goto → block 1
Block 1 (loop header)
84
Phi ← Constant#2, Constant#2
Value
85
Phi ← Constant#2, Constant#2
Value
86
Phi ← Parameter#0, Parameter#0
Value
87
Phi ← Parameter#1, Parameter#1
Value
88
Phi ← Call#13, Call#112
Value
89
Phi ← Call#21, BitOr#137
Value
90
Phi ← Call#29, Call#147
Value
91
Phi ← NewArrayObject#31, NewArrayObject#31
Value
92
Phi ← Call#59, Call#489
Value
93
Phi ← NewPlainObject#61, NewPlainObject#61
Value
94
Phi ← Call#81, Call#693
Value
95
Phi ← Constant#83, Add#698
Value
97
InterruptCheck
98
Constant 0xa
Int32
99
Unbox Phi#95 to Int32 (fallible)
Int32
100
Compare ← Unbox#99, Constant#98 Lt
Bool
101
Test ← Compare#100 → block 2, block 67
1
0
Block 2
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant function complex1 (-e:2) at 104289c6c8c8
Object
105
Constant undefined
Undefined
106
Unbox Phi#88 to Double (fallible)
Double
107
Unbox Phi#95 to Double (fallible)
Double
108
Add ← Unbox#106, Unbox#107 [double]
Double
109
Constant 0x1
Int32
110
Constant function complex1 (-e:2) at 104289c6c8c8
Object
111
GuardSpecificFunction ← Constant#104, Constant#110
Object
112
Call ← GuardSpecificFunction#111, Constant#105, Add#108
Value
113
Constant object 104289c3f040 (LexicalEnvironment)
Object
114
Constant object 104289c3e030 (global)
Object
115
Constant function complex2 (-e:7) at 104289c6c970
Object
116
Constant undefined
Undefined
117
Unbox Phi#89 to Int32 (fallible)
Int32
118
Unbox Phi#95 to Int32 (fallible)
Int32
119
Add ← Unbox#117, Unbox#118 [int32]
Int32
120
Constant 0x1
Int32
121
Constant function complex2 (-e:7) at 104289c6c970
Object
122
GuardSpecificFunction ← Constant#115, Constant#121
Object
123
Goto → block 3
Block 3
124
Constant undefined
Undefined
125
Constant 0x1
Int32
126
Lsh ← Add#119, Constant#125
Int32
127
Constant 0x1
Int32
128
Rsh ← Add#119, Constant#127
Int32
129
Constant 0xff
Int32
130
BitAnd ← Add#119, Constant#129
Int32
131
Constant 0x2
Int32
132
Ursh ← Add#119, Constant#131
Int32
133
Add ← BitAnd#130, Ursh#132 [int32]
Int32
134
BitNot ← Add#119
Int32
135
Sub ← Add#133, BitNot#134 [int32]
Int32
136
BitXor ← Rsh#128, Sub#135
Int32
137
BitOr ← Lsh#126, BitXor#136
Int32
139
Goto → block 4
Block 4
140
Constant object 104289c3f040 (LexicalEnvironment)
Object
141
Constant object 104289c3e030 (global)
Object
142
Constant function complex3 (-e:11) at 104289c6c938
Object
143
Constant undefined
Undefined
144
Constant 0x2
Int32
145
Constant function complex3 (-e:11) at 104289c6c938
Object
146
GuardSpecificFunction ← Constant#142, Constant#145
Object
147
Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112
Value
148
Constant object 104289c3f040 (LexicalEnvironment)
Object
149
Constant object 104289c3e030 (global)
Object
150
Constant function complex4 (-e:17) at 104289c6c890
Object
151
Constant undefined
Undefined
152
Constant shape at 104289c64f00
Shape
153
NewArrayObject ← Constant#152
Object
154
Constant 0x0
Int32
155
Elements ← NewArrayObject#153
Elements
156
PostWriteBarrier ← NewArrayObject#153, Call#112
157
StoreElement ← Elements#155, Constant#154, Call#112
158
SetInitializedLength ← Elements#155, Constant#154
159
Constant 0x1
Int32
160
Elements ← NewArrayObject#153
Elements
161
PostWriteBarrier ← NewArrayObject#153, BitOr#137
162
StoreElement ← Elements#160, Constant#159, BitOr#137
163
SetInitializedLength ← Elements#160, Constant#159
164
Constant 0x2
Int32
165
Elements ← NewArrayObject#153
Elements
166
PostWriteBarrier ← NewArrayObject#153, Call#147
167
StoreElement ← Elements#165, Constant#164, Call#147
168
SetInitializedLength ← Elements#165, Constant#164
169
Constant 0x3
Int32
170
Elements ← NewArrayObject#153
Elements
171
PostWriteBarrier ← NewArrayObject#153, Phi#95
172
StoreElement ← Elements#170, Constant#169, Phi#95
173
SetInitializedLength ← Elements#170, Constant#169
174
Constant 0x1
Int32
175
Constant function complex4 (-e:17) at 104289c6c890
Object
176
GuardSpecificFunction ← Constant#150, Constant#175
Object
177
Goto → block 5
Block 5
178
Constant undefined
Undefined
179
FunctionEnvironment ← GuardSpecificFunction#176
Object
180
GuardShape ← NewArrayObject#153
Object
181
Constant object 104289c3e088 (Array)
Object
182
Constant function map (self-hosted:163) at 104289c47920
Object
183
Constant function complex4/< (-e:18) at 104289c63d28
Object
184
Lambda ← FunctionEnvironment#179, Constant#183
Object
185
Constant 0x1
Int32
186
Constant function map (self-hosted:163) at 104289c47920
Object
187
GuardSpecificFunction ← Constant#182, Constant#186
Object
188
Goto → block 6
Block 6
189
Constant undefined
Undefined
190
Constant function ToObject at 104289c6c740
Object
191
DebugCheckSelfHosted ← Constant#190
Value
192
Constant undefined
Undefined
193
Constant 0x1
Int32
194
Constant function ToLength at 104289c6c778
Object
195
DebugCheckSelfHosted ← Constant#194
Value
196
Constant undefined
Undefined
197
GuardShape ← NewArrayObject#153
Object
198
Elements ← GuardShape#197
Elements
199
ArrayLength ← Elements#198
Int32
200
Constant 0x1
Int32
201
Constant 0x0
Int32
202
MinMax ← ArrayLength#199, Constant#201 (max)
Int32
203
Constant 0x1
Int32
204
Constant 0x0
Int32
205
Compare ← Constant#203, Constant#204 StrictEq
Bool
206
Test ← Compare#205 → block 7, block 8
1
0
Block 7
207
CallGetIntrinsicValue
Value
208
DebugCheckSelfHosted ← CallGetIntrinsicValue#207
Value
209
Constant undefined
Undefined
210
Constant 0x37
Int32
211
Constant 0x0
Int32
212
Constant string 104289c2e080
String
213
Bail
718
Unreachable
Block 8
216
Constant function IsCallable at 104289c6c7b0
Object
217
DebugCheckSelfHosted ← Constant#216
Value
218
Constant undefined
Undefined
219
Constant 0x1
Int32
220
IsCallable ← Lambda#184
Bool
221
Test ← IsCallable#220 → block 10, block 9
1
0
Block 9
222
CallGetIntrinsicValue
Value
223
DebugCheckSelfHosted ← CallGetIntrinsicValue#222
Value
224
Constant undefined
Undefined
225
Constant 0xc
Int32
226
CallGetIntrinsicValue
Value
227
DebugCheckSelfHosted ← CallGetIntrinsicValue#226
Value
228
Constant undefined
Undefined
229
Constant 0x0
Int32
230
Bail
717
Unreachable
Block 10
235
Constant 0x1
Int32
236
Constant 0x1
Int32
237
Compare ← Constant#235, Constant#236 Gt
Bool
238
Test ← Compare#237 → block 11, block 12
1
0
Block 11
239
Constant 0x1
Int32
240
GetInlinedArgument ← Constant#239, Lambda#184
Value
241
Goto → block 13
Block 12
242
Constant undefined
Undefined
243
Goto → block 13
Block 13
244
Phi ← Constant#242, GetInlinedArgument#240
Value
245
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
246
DebugCheckSelfHosted ← Constant#245
Value
247
Constant undefined
Undefined
248
Constant 0x1
Int32
249
HasShape ← NewArrayObject#153
Bool
250
Test ← HasShape#249 → block 14, block 15
1
0
Block 14
251
Constant function std_Array at 104289c6c820
Object
252
DebugCheckSelfHosted ← Constant#251
Value
253
Constant undefined
Undefined
254
Constant 0x1
Int32
255
Unbox DebugCheckSelfHosted#252 to Object (fallible)
Object
256
Constant function std_Array at 104289c6c820
Object
257
GuardSpecificFunction ← Unbox#255, Constant#256
Object
258
NewArrayDynamicLength ← MinMax#202
Object
259
Goto → block 16
Block 15
260
CallGetIntrinsicValue
Value
261
DebugCheckSelfHosted ← CallGetIntrinsicValue#260
Value
262
Constant undefined
Undefined
263
Bail
716
Unreachable
Block 16
266
Phi ← NewArrayDynamicLength#258
Value
267
Constant 0x0
Int32
279
Goto → block 17
Block 17 (loop header)
268
Phi ← Constant#189, Constant#189
Value
269
Phi ← Constant#189, Constant#189
Value
270
Phi ← NewArrayObject#153, NewArrayObject#153
Value
271
Phi ← Lambda#184, Lambda#184
Value
272
Phi ← NewArrayObject#153, NewArrayObject#153
Value
273
Phi ← MinMax#202, MinMax#202
Value
274
Phi ← Phi#244, Phi#244
Value
275
Phi ← Phi#266, Phi#266
Value
276
Phi ← Constant#267, Add#324
Value
277
Phi ← Constant#189, Phi#321
Value
278
Phi ← NewArrayObject#153, NewArrayObject#153
Value
280
InterruptCheck
281
Unbox Phi#276 to Int32 (fallible)
Int32
282
Unbox Phi#273 to Int32 (fallible)
Int32
283
Compare ← Unbox#281, Unbox#282 Lt
Bool
284
Test ← Compare#283 → block 18, block 24
1
0
Block 18
285
Unbox Phi#272 to Object (fallible)
Object
286
Unbox Phi#276 to Int32 (fallible)
Int32
287
GuardShape ← Unbox#285
Object
288
Elements ← GuardShape#287
Elements
289
InitializedLength ← Elements#288
Int32
290
BoundsCheck ← Unbox#286, InitializedLength#289
Int32
291
SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289
Int32
292
GuardElementNotHole ← Elements#288, SpectreMaskIndex#291
293
Constant true
Bool
294
Test ← Constant#293 → block 19, block 68
1
0
Block 68 (split edge)
719
Goto → block 22
Block 19
295
Unbox Phi#272 to Object (fallible)
Object
296
Unbox Phi#276 to Int32 (fallible)
Int32
297
GuardShape ← Unbox#295
Object
298
Elements ← GuardShape#297
Elements
299
InitializedLength ← Elements#298
Int32
300
BoundsCheck ← Unbox#296, InitializedLength#299
Int32
301
SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299
Int32
302
GuardElementsArePacked ← Elements#298
303
LoadElement ← Elements#298, SpectreMaskIndex#301
Value
304
Constant 0x3
Int32
305
Unbox Phi#271 to Object (fallible)
Object
306
GuardToFunction ← Unbox#305
Object
307
GuardFunctionScript ← GuardToFunction#306
Object
308
Goto → block 20
Block 20
309
Constant undefined
Undefined
310
Constant 0x2
Int32
311
Unbox LoadElement#303 to Double (fallible)
Double
312
Mul ← Unbox#311, Constant#310 [double]
Double
314
Goto → block 21
Block 21
315
Unbox Phi#275 to Object (fallible)
Object
316
Unbox Phi#276 to Int32 (fallible)
Int32
317
GuardShape ← Unbox#315
Object
318
Elements ← GuardShape#317
Elements
319
StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312
320
Goto → block 22
Block 22 (backedge)
321
Phi ← Mul#312, Phi#277
Value
322
Unbox Phi#276 to Int32 (fallible)
Int32
323
Constant 0x1
Int32
324
Add ← Unbox#322, Constant#323 [int32]
Int32
325
Goto → block 17
Block 24
328
Unbox Phi#275 to Object (fallible)
Object
329
GuardShape ← Unbox#328
Object
330
Constant object 104289c3e088 (Array)
Object
331
Constant function filter (self-hosted:183) at 104289c47970
Object
332
Constant function complex4/< (-e:18) at 104289c63d60
Object
333
Lambda ← FunctionEnvironment#179, Constant#332
Object
334
Constant 0x1
Int32
335
Constant function filter (self-hosted:183) at 104289c47970
Object
336
GuardSpecificFunction ← Constant#331, Constant#335
Object
337
Goto → block 25
Block 25
338
Constant undefined
Undefined
339
Constant function ToObject at 104289c6c740
Object
340
DebugCheckSelfHosted ← Constant#339
Value
341
Constant undefined
Undefined
342
Constant 0x1
Int32
343
Unbox Phi#275 to Object (fallible)
Object
344
Constant function ToLength at 104289c6c778
Object
345
DebugCheckSelfHosted ← Constant#344
Value
346
Constant undefined
Undefined
347
GuardShape ← Unbox#343
Object
348
Elements ← GuardShape#347
Elements
349
ArrayLength ← Elements#348
Int32
350
Constant 0x1
Int32
351
Constant 0x0
Int32
352
MinMax ← ArrayLength#349, Constant#351 (max)
Int32
353
Constant 0x1
Int32
354
Constant 0x0
Int32
355
Compare ← Constant#353, Constant#354 StrictEq
Bool
356
Test ← Compare#355 → block 26, block 27
1
0
Block 26
357
CallGetIntrinsicValue
Value
358
DebugCheckSelfHosted ← CallGetIntrinsicValue#357
Value
359
Constant undefined
Undefined
360
Constant 0x37
Int32
361
Constant 0x0
Int32
362
Constant string 104289c28540
String
363
Bail
715
Unreachable
Block 27
366
Constant function IsCallable at 104289c6c7b0
Object
367
DebugCheckSelfHosted ← Constant#366
Value
368
Constant undefined
Undefined
369
Constant 0x1
Int32
370
IsCallable ← Lambda#333
Bool
371
Test ← IsCallable#370 → block 29, block 28
1
0
Block 28
372
CallGetIntrinsicValue
Value
373
DebugCheckSelfHosted ← CallGetIntrinsicValue#372
Value
374
Constant undefined
Undefined
375
Constant 0xc
Int32
376
CallGetIntrinsicValue
Value
377
DebugCheckSelfHosted ← CallGetIntrinsicValue#376
Value
378
Constant undefined
Undefined
379
Constant 0x0
Int32
380
Bail
714
Unreachable
Block 29
385
Constant 0x1
Int32
386
Constant 0x1
Int32
387
Compare ← Constant#385, Constant#386 Gt
Bool
388
Test ← Compare#387 → block 30, block 31
1
0
Block 30
389
Constant 0x1
Int32
390
GetInlinedArgument ← Constant#389, Lambda#333
Value
391
Goto → block 32
Block 31
392
Constant undefined
Undefined
393
Goto → block 32
Block 32
394
Phi ← Constant#392, GetInlinedArgument#390
Value
395
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
396
DebugCheckSelfHosted ← Constant#395
Value
397
Constant undefined
Undefined
398
Constant 0x1
Int32
399
HasShape ← Unbox#343
Bool
400
Test ← HasShape#399 → block 33, block 34
1
0
Block 33
401
Constant shape at 104289c64f00
Shape
402
NewArrayObject ← Constant#401
Object
403
Goto → block 35
Block 34
404
CallGetIntrinsicValue
Value
405
DebugCheckSelfHosted ← CallGetIntrinsicValue#404
Value
406
Constant undefined
Undefined
407
Constant 0x0
Int32
408
Bail
713
Unreachable
Block 35
411
Phi ← NewArrayObject#402
Value
412
Constant 0x0
Int32
413
Constant 0x0
Int32
426
Goto → block 36
Block 36 (loop header)
414
Phi ← Constant#338, Constant#338
Value
415
Phi ← Constant#338, Constant#338
Value
416
Phi ← Phi#275, Phi#275
Value
417
Phi ← Lambda#333, Lambda#333
Value
418
Phi ← Unbox#343, Unbox#343
Value
419
Phi ← MinMax#352, MinMax#352
Value
420
Phi ← Phi#394, Phi#394
Value
421
Phi ← Phi#411, Phi#411
Value
422
Phi ← Constant#412, Add#475
Value
423
Phi ← Constant#413, Phi#471
Value
424
Phi ← Constant#338, Phi#472
Value
425
Phi ← Phi#275, Phi#275
Value
427
InterruptCheck
428
Unbox Phi#422 to Int32 (fallible)
Int32
429
Unbox Phi#419 to Int32 (fallible)
Int32
430
Compare ← Unbox#428, Unbox#429 Lt
Bool
431
Test ← Compare#430 → block 37, block 44
1
0
Block 37
432
Unbox Phi#418 to Object (fallible)
Object
433
Unbox Phi#422 to Int32 (fallible)
Int32
434
GuardShape ← Unbox#432
Object
435
Elements ← GuardShape#434
Elements
436
InitializedLength ← Elements#435
Int32
437
BoundsCheck ← Unbox#433, InitializedLength#436
Int32
438
SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436
Int32
439
GuardElementNotHole ← Elements#435, SpectreMaskIndex#438
440
Constant true
Bool
441
Test ← Constant#440 → block 38, block 69
1
0
Block 69 (split edge)
720
Goto → block 42
Block 38
442
Unbox Phi#418 to Object (fallible)
Object
443
Unbox Phi#422 to Int32 (fallible)
Int32
444
GuardShape ← Unbox#442
Object
445
Elements ← GuardShape#444
Elements
446
InitializedLength ← Elements#445
Int32
447
BoundsCheck ← Unbox#443, InitializedLength#446
Int32
448
SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446
Int32
449
GuardElementsArePacked ← Elements#445
450
LoadElement ← Elements#445, SpectreMaskIndex#448
Value
451
Constant 0x3
Int32
452
Unbox Phi#417 to Object (fallible)
Object
453
GuardToFunction ← Unbox#452
Object
454
GuardFunctionScript ← GuardToFunction#453
Object
455
Goto → block 39
Block 39
456
Constant undefined
Undefined
457
Constant 0x32
Int32
458
Unbox LoadElement#450 to Double (fallible)
Double
459
Compare ← Unbox#458, Constant#457 Gt
Bool
461
Goto → block 40
Block 40
462
Test ← Compare#459 → block 41, block 70
1
0
Block 70 (split edge)
721
Goto → block 42
Block 41
463
Unbox Phi#423 to Int32 (fallible)
Int32
464
Constant 0x1
Int32
465
Add ← Unbox#463, Constant#464 [int32]
Int32
466
Unbox Phi#421 to Object (fallible)
Object
467
GuardShape ← Unbox#466
Object
468
Elements ← GuardShape#467
Elements
469
StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450
470
Goto → block 42
Block 42 (backedge)
471
Phi ← Add#465, Phi#423, Phi#423
Value
472
Phi ← LoadElement#450, Phi#424, LoadElement#450
Value
473
Unbox Phi#422 to Int32 (fallible)
Int32
474
Constant 0x1
Int32
475
Add ← Unbox#473, Constant#474 [int32]
Int32
476
Goto → block 36
Block 44
479
Unbox Phi#421 to Object (fallible)
Object
480
GuardShape ← Unbox#479
Object
481
Constant object 104289c3e088 (Array)
Object
482
Constant function reduce (self-hosted:205) at 104289c479c0
Object
483
Constant function complex4/< (-e:18) at 104289c63d98
Object
484
Lambda ← FunctionEnvironment#179, Constant#483
Object
485
Constant 0x0
Int32
486
Constant 0x2
Int32
487
Constant function reduce (self-hosted:205) at 104289c479c0
Object
488
GuardSpecificFunction ← Constant#482, Constant#487
Object
489
Call ← GuardSpecificFunction#488, Phi#421, Lambda#484, Constant#485
Value
491
Goto → block 45
Block 45
492
Constant object 104289c3f040 (LexicalEnvironment)
Object
493
Constant object 104289c3e030 (global)
Object
494
Constant function complex5 (-e:21) at 104289c6c900
Object
495
Constant undefined
Undefined
496
Constant shape at 104289c64fc0
Shape
497
NewPlainObject ← Constant#496
Object
498
GuardShape ← NewPlainObject#497
Object
499
PostWriteBarrier ← GuardShape#498, Call#112
500
StoreFixedSlot ← GuardShape#498, Call#112 (slot 0)
501
GuardShape ← NewPlainObject#497
Object
502
PostWriteBarrier ← GuardShape#501, BitOr#137
503
StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1)
504
GuardShape ← NewPlainObject#497
Object
505
PostWriteBarrier ← GuardShape#504, Call#147
506
StoreFixedSlot ← GuardShape#504, Call#147 (slot 2)
507
Constant 0x1
Int32
508
Constant function complex5 (-e:21) at 104289c6c900
Object
509
GuardSpecificFunction ← Constant#494, Constant#508
Object
510
Goto → block 46
Block 46
511
Constant undefined
Undefined
512
FunctionEnvironment ← GuardSpecificFunction#509
Object
513
Constant object 104289c3f078 (Call)
Object
514
NewCallObject ← Constant#513
Object
515
AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512
516
AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509
517
StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0)
518
StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1)
519
PostWriteBarrier ← NewCallObject#514, NewPlainObject#497
520
StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2)
521
Constant object 104289c3f040 (LexicalEnvironment)
Object
522
Constant object 104289c3e030 (global)
Object
523
Constant function Object at 104289c422e0
Object
524
Constant function Object at 104289c422e0
Object
525
GuardObjectIdentity ← Constant#523, Constant#524
Object
526
Constant function keys at 104289c42468
Object
527
LoadFixedSlot ← NewCallObject#514 (slot 2)
Value
528
Constant 0x1
Int32
529
Constant function keys at 104289c42468
Object
530
GuardSpecificFunction ← Constant#526, Constant#529
Object
531
Unbox LoadFixedSlot#527 to Object (fallible)
Object
532
GuardIsNotProxy ← Unbox#531
Object
533
ObjectKeys ← GuardIsNotProxy#532
Object
534
GuardShape ← ObjectKeys#533
Object
535
Constant object 104289c3e088 (Array)
Object
536
Constant function map (self-hosted:163) at 104289c47920
Object
537
Constant function complex5/< (-e:22) at 104289c63e08
Object
538
Lambda ← NewCallObject#514, Constant#537
Object
539
Constant 0x1
Int32
540
Constant function map (self-hosted:163) at 104289c47920
Object
541
GuardSpecificFunction ← Constant#536, Constant#540
Object
542
Goto → block 47
Block 47
543
Constant undefined
Undefined
544
Constant function ToObject at 104289c6c740
Object
545
DebugCheckSelfHosted ← Constant#544
Value
546
Constant undefined
Undefined
547
Constant 0x1
Int32
548
Constant function ToLength at 104289c6c778
Object
549
DebugCheckSelfHosted ← Constant#548
Value
550
Constant undefined
Undefined
551
GuardShape ← ObjectKeys#533
Object
552
Elements ← GuardShape#551
Elements
553
ArrayLength ← Elements#552
Int32
554
Constant 0x1
Int32
555
Constant 0x0
Int32
556
MinMax ← ArrayLength#553, Constant#555 (max)
Int32
557
Constant 0x1
Int32
558
Constant 0x0
Int32
559
Compare ← Constant#557, Constant#558 StrictEq
Bool
560
Test ← Compare#559 → block 48, block 49
1
0
Block 48
561
CallGetIntrinsicValue
Value
562
DebugCheckSelfHosted ← CallGetIntrinsicValue#561
Value
563
Constant undefined
Undefined
564
Constant 0x37
Int32
565
Constant 0x0
Int32
566
Constant string 104289c2e080
String
567
Bail
712
Unreachable
Block 49
570
Constant function IsCallable at 104289c6c7b0
Object
571
DebugCheckSelfHosted ← Constant#570
Value
572
Constant undefined
Undefined
573
Constant 0x1
Int32
574
IsCallable ← Lambda#538
Bool
575
Test ← IsCallable#574 → block 51, block 50
1
0
Block 50
576
CallGetIntrinsicValue
Value
577
DebugCheckSelfHosted ← CallGetIntrinsicValue#576
Value
578
Constant undefined
Undefined
579
Constant 0xc
Int32
580
CallGetIntrinsicValue
Value
581
DebugCheckSelfHosted ← CallGetIntrinsicValue#580
Value
582
Constant undefined
Undefined
583
Constant 0x0
Int32
584
Bail
711
Unreachable
Block 51
589
Constant 0x1
Int32
590
Constant 0x1
Int32
591
Compare ← Constant#589, Constant#590 Gt
Bool
592
Test ← Compare#591 → block 52, block 53
1
0
Block 52
593
Constant 0x1
Int32
594
GetInlinedArgument ← Constant#593, Lambda#538
Value
595
Goto → block 54
Block 53
596
Constant undefined
Undefined
597
Goto → block 54
Block 54
598
Phi ← Constant#596, GetInlinedArgument#594
Value
599
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
600
DebugCheckSelfHosted ← Constant#599
Value
601
Constant undefined
Undefined
602
Constant 0x1
Int32
603
HasShape ← ObjectKeys#533
Bool
604
Test ← HasShape#603 → block 55, block 56
1
0
Block 55
605
Constant function std_Array at 104289c6c820
Object
606
DebugCheckSelfHosted ← Constant#605
Value
607
Constant undefined
Undefined
608
Constant 0x1
Int32
609
Unbox DebugCheckSelfHosted#606 to Object (fallible)
Object
610
Constant function std_Array at 104289c6c820
Object
611
GuardSpecificFunction ← Unbox#609, Constant#610
Object
612
NewArrayDynamicLength ← MinMax#556
Object
613
Goto → block 57
Block 56
614
CallGetIntrinsicValue
Value
615
DebugCheckSelfHosted ← CallGetIntrinsicValue#614
Value
616
Constant undefined
Undefined
617
Bail
710
Unreachable
Block 57
620
Phi ← NewArrayDynamicLength#612
Value
621
Constant 0x0
Int32
633
Goto → block 58
Block 58 (loop header)
622
Phi ← Constant#543, Constant#543
Value
623
Phi ← Constant#543, Constant#543
Value
624
Phi ← ObjectKeys#533, ObjectKeys#533
Value
625
Phi ← Lambda#538, Lambda#538
Value
626
Phi ← ObjectKeys#533, ObjectKeys#533
Value
627
Phi ← MinMax#556, MinMax#556
Value
628
Phi ← Phi#598, Phi#598
Value
629
Phi ← Phi#620, Phi#620
Value
630
Phi ← Constant#621, Add#679
Value
631
Phi ← Constant#543, Phi#676
Value
632
Phi ← ObjectKeys#533, ObjectKeys#533
Value
634
InterruptCheck
635
Unbox Phi#630 to Int32 (fallible)
Int32
636
Unbox Phi#627 to Int32 (fallible)
Int32
637
Compare ← Unbox#635, Unbox#636 Lt
Bool
638
Test ← Compare#637 → block 59, block 65
1
0
Block 59
639
Unbox Phi#626 to Object (fallible)
Object
640
Unbox Phi#630 to Int32 (fallible)
Int32
641
GuardShape ← Unbox#639
Object
642
Elements ← GuardShape#641
Elements
643
InitializedLength ← Elements#642
Int32
644
BoundsCheck ← Unbox#640, InitializedLength#643
Int32
645
SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643
Int32
646
GuardElementNotHole ← Elements#642, SpectreMaskIndex#645
647
Constant true
Bool
648
Test ← Constant#647 → block 60, block 71
1
0
Block 71 (split edge)
722
Goto → block 63
Block 60
649
Unbox Phi#626 to Object (fallible)
Object
650
Unbox Phi#630 to Int32 (fallible)
Int32
651
GuardShape ← Unbox#649
Object
652
Elements ← GuardShape#651
Elements
653
InitializedLength ← Elements#652
Int32
654
BoundsCheck ← Unbox#650, InitializedLength#653
Int32
655
SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653
Int32
656
GuardElementsArePacked ← Elements#652
657
LoadElement ← Elements#652, SpectreMaskIndex#655
Value
658
Constant 0x3
Int32
659
Unbox Phi#625 to Object (fallible)
Object
660
GuardToFunction ← Unbox#659
Object
661
GuardFunctionScript ← GuardToFunction#660
Object
662
Goto → block 61
Block 61
663
Constant undefined
Undefined
664
FunctionEnvironment ← GuardFunctionScript#661
Object
665
LoadFixedSlot ← FunctionEnvironment#664 (slot 2)
Value
666
Unbox LoadFixedSlot#665 to Object (fallible)
Object
667
MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657
Value
669
Goto → block 62
Block 62
670
Unbox Phi#629 to Object (fallible)
Object
671
Unbox Phi#630 to Int32 (fallible)
Int32
672
GuardShape ← Unbox#670
Object
673
Elements ← GuardShape#672
Elements
674
StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667
675
Goto → block 63
Block 63 (backedge)
676
Phi ← MegamorphicLoadSlotByValue#667, Phi#631
Value
677
Unbox Phi#630 to Int32 (fallible)
Int32
678
Constant 0x1
Int32
679
Add ← Unbox#677, Constant#678 [int32]
Int32
680
Goto → block 58
Block 65
683
Unbox Phi#629 to Object (fallible)
Object
684
GuardShape ← Unbox#683
Object
685
Constant object 104289c3e088 (Array)
Object
686
Constant function reduce (self-hosted:205) at 104289c479c0
Object
687
Constant function complex5/< (-e:22) at 104289c63e40
Object
688
Lambda ← NewCallObject#514, Constant#687
Object
689
Constant 0x0
Int32
690
Constant 0x2
Int32
691
Constant function reduce (self-hosted:205) at 104289c479c0
Object
692
GuardSpecificFunction ← Constant#686, Constant#691
Object
693
Call ← GuardSpecificFunction#692, Phi#629, Lambda#688, Constant#689
Value
695
Goto → block 66
Block 66 (backedge)
696
Unbox Phi#95 to Int32 (fallible)
Int32
697
Constant 0x1
Int32
698
Add ← Unbox#696, Constant#697 [int32]
Int32
699
Goto → block 1
Block 67
700
Unbox Phi#88 to Double (fallible)
Double
701
Unbox Phi#89 to Double (fallible)
Double
702
Add ← Unbox#700, Unbox#701 [double]
Double
703
Unbox Phi#90 to Double (fallible)
Double
704
Add ← Add#702, Unbox#703 [double]
Double
705
Unbox Phi#92 to Double (fallible)
Double
706
Add ← Add#704, Unbox#705 [double]
Double
707
Unbox Phi#94 to Double (fallible)
Double
708
Add ← Add#706, Unbox#707 [double]
Double
709
Return ← Add#708
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant object 104289c3f040 (LexicalEnvironment)
Object
7
Constant object 104289c3e030 (global)
Object
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
9
Constant undefined
Undefined
10
Constant 0x1
Int32
11
Constant function complex1 (-e:2) at 104289c6c8c8
Object
12
GuardSpecificFunction ← Constant#8, Constant#11
Object
13
Call ← GuardSpecificFunction#12, Constant#9, Parameter#1
Value
14
Constant object 104289c3f040 (LexicalEnvironment)
Object
15
Constant object 104289c3e030 (global)
Object
16
Constant function complex2 (-e:7) at 104289c6c970
Object
17
Constant undefined
Undefined
18
Constant 0x1
Int32
19
Constant function complex2 (-e:7) at 104289c6c970
Object
20
GuardSpecificFunction ← Constant#16, Constant#19
Object
21
Call ← GuardSpecificFunction#20, Constant#17, Parameter#1
Value
22
Constant object 104289c3f040 (LexicalEnvironment)
Object
23
Constant object 104289c3e030 (global)
Object
24
Constant function complex3 (-e:11) at 104289c6c938
Object
25
Constant undefined
Undefined
26
Constant 0x2
Int32
27
Constant function complex3 (-e:11) at 104289c6c938
Object
28
GuardSpecificFunction ← Constant#24, Constant#27
Object
29
Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
52
Constant object 104289c3f040 (LexicalEnvironment)
Object
53
Constant object 104289c3e030 (global)
Object
54
Constant function complex4 (-e:17) at 104289c6c890
Object
55
Constant undefined
Undefined
56
Constant 0x1
Int32
57
Constant function complex4 (-e:17) at 104289c6c890
Object
58
GuardSpecificFunction ← Constant#54, Constant#57
Object
59
Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
65
GuardShape ← NewPlainObject#61
Object
66
PostWriteBarrier ← GuardShape#65, Call#21
67
StoreFixedSlot ← GuardShape#65, Call#21 (slot 1)
68
GuardShape ← NewPlainObject#61
Object
69
PostWriteBarrier ← GuardShape#68, Call#29
70
StoreFixedSlot ← GuardShape#68, Call#29 (slot 2)
71
GuardShape ← NewPlainObject#61
Object
72
PostWriteBarrier ← GuardShape#71, Call#59
73
StoreFixedSlot ← GuardShape#71, Call#59 (slot 3)
74
Constant object 104289c3f040 (LexicalEnvironment)
Object
75
Constant object 104289c3e030 (global)
Object
76
Constant function complex5 (-e:21) at 104289c6c900
Object
77
Constant undefined
Undefined
78
Constant 0x1
Int32
79
Constant function complex5 (-e:21) at 104289c6c900
Object
80
GuardSpecificFunction ← Constant#76, Constant#79
Object
81
Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61
Value
82
Constant magic uninitialized-lexical
MagicUninitializedLexical
83
Constant 0x0
Int32
96
Goto → block 1
Block 1 (loop header)
84
Phi ← Constant#2, Constant#2
Value
85
Phi ← Constant#2, Constant#2
Value
86
Phi ← Parameter#0, Parameter#0
Value
87
Phi ← Parameter#1, Parameter#1
Value
88
Phi ← Call#13, Call#112
Value
89
Phi ← Call#21, BitOr#137
Value
90
Phi ← Call#29, Call#147
Value
91
Phi ← NewArrayObject#31, NewArrayObject#31
Value
92
Phi ← Call#59, Call#489
Value
93
Phi ← NewPlainObject#61, NewPlainObject#61
Value
94
Phi ← Call#81, Call#693
Value
95
Phi ← Constant#83, Add#698
Value
97
InterruptCheck
98
Constant 0xa
Int32
99
Unbox Phi#95 to Int32 (fallible)
Int32
100
Compare ← Unbox#99, Constant#98 Lt
Bool
101
Test ← Compare#100 → block 2, block 68
1
0
Block 2
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant function complex1 (-e:2) at 104289c6c8c8
Object
105
Constant undefined
Undefined
106
Unbox Phi#88 to Double (fallible)
Double
107
Unbox Phi#95 to Double (fallible)
Double
108
Add ← Unbox#106, Unbox#107 [double]
Double
109
Constant 0x1
Int32
110
Constant function complex1 (-e:2) at 104289c6c8c8
Object
111
GuardSpecificFunction ← Constant#104, Constant#110
Object
112
Call ← GuardSpecificFunction#111, Constant#105, Add#108
Value
113
Constant object 104289c3f040 (LexicalEnvironment)
Object
114
Constant object 104289c3e030 (global)
Object
115
Constant function complex2 (-e:7) at 104289c6c970
Object
116
Constant undefined
Undefined
117
Unbox Phi#89 to Int32 (fallible)
Int32
118
Unbox Phi#95 to Int32 (fallible)
Int32
119
Add ← Unbox#117, Unbox#118 [int32]
Int32
120
Constant 0x1
Int32
121
Constant function complex2 (-e:7) at 104289c6c970
Object
122
GuardSpecificFunction ← Constant#115, Constant#121
Object
123
Goto → block 3
Block 3
124
Constant undefined
Undefined
125
Constant 0x1
Int32
126
Lsh ← Add#119, Constant#125
Int32
127
Constant 0x1
Int32
128
Rsh ← Add#119, Constant#127
Int32
129
Constant 0xff
Int32
130
BitAnd ← Add#119, Constant#129
Int32
131
Constant 0x2
Int32
132
Ursh ← Add#119, Constant#131
Int32
133
Add ← BitAnd#130, Ursh#132 [int32]
Int32
134
BitNot ← Add#119
Int32
135
Sub ← Add#133, BitNot#134 [int32]
Int32
136
BitXor ← Rsh#128, Sub#135
Int32
137
BitOr ← Lsh#126, BitXor#136
Int32
139
Goto → block 4
Block 4
140
Constant object 104289c3f040 (LexicalEnvironment)
Object
141
Constant object 104289c3e030 (global)
Object
142
Constant function complex3 (-e:11) at 104289c6c938
Object
143
Constant undefined
Undefined
144
Constant 0x2
Int32
145
Constant function complex3 (-e:11) at 104289c6c938
Object
146
GuardSpecificFunction ← Constant#142, Constant#145
Object
147
Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112
Value
148
Constant object 104289c3f040 (LexicalEnvironment)
Object
149
Constant object 104289c3e030 (global)
Object
150
Constant function complex4 (-e:17) at 104289c6c890
Object
151
Constant undefined
Undefined
152
Constant shape at 104289c64f00
Shape
153
NewArrayObject ← Constant#152
Object
154
Constant 0x0
Int32
155
Elements ← NewArrayObject#153
Elements
156
PostWriteBarrier ← NewArrayObject#153, Call#112
157
StoreElement ← Elements#155, Constant#154, Call#112
158
SetInitializedLength ← Elements#155, Constant#154
159
Constant 0x1
Int32
160
Elements ← NewArrayObject#153
Elements
161
PostWriteBarrier ← NewArrayObject#153, BitOr#137
162
StoreElement ← Elements#160, Constant#159, BitOr#137
163
SetInitializedLength ← Elements#160, Constant#159
164
Constant 0x2
Int32
165
Elements ← NewArrayObject#153
Elements
166
PostWriteBarrier ← NewArrayObject#153, Call#147
167
StoreElement ← Elements#165, Constant#164, Call#147
168
SetInitializedLength ← Elements#165, Constant#164
169
Constant 0x3
Int32
170
Elements ← NewArrayObject#153
Elements
171
PostWriteBarrier ← NewArrayObject#153, Phi#95
172
StoreElement ← Elements#170, Constant#169, Phi#95
173
SetInitializedLength ← Elements#170, Constant#169
174
Constant 0x1
Int32
175
Constant function complex4 (-e:17) at 104289c6c890
Object
176
GuardSpecificFunction ← Constant#150, Constant#175
Object
177
Goto → block 5
Block 5
178
Constant undefined
Undefined
179
FunctionEnvironment ← GuardSpecificFunction#176
Object
180
GuardShape ← NewArrayObject#153
Object
181
Constant object 104289c3e088 (Array)
Object
182
Constant function map (self-hosted:163) at 104289c47920
Object
183
Constant function complex4/< (-e:18) at 104289c63d28
Object
184
Lambda ← FunctionEnvironment#179, Constant#183
Object
185
Constant 0x1
Int32
186
Constant function map (self-hosted:163) at 104289c47920
Object
187
GuardSpecificFunction ← Constant#182, Constant#186
Object
188
Goto → block 6
Block 6
189
Constant undefined
Undefined
190
Constant function ToObject at 104289c6c740
Object
191
DebugCheckSelfHosted ← Constant#190
Value
192
Constant undefined
Undefined
193
Constant 0x1
Int32
194
Constant function ToLength at 104289c6c778
Object
195
DebugCheckSelfHosted ← Constant#194
Value
196
Constant undefined
Undefined
197
GuardShape ← NewArrayObject#153
Object
198
Elements ← GuardShape#197
Elements
199
ArrayLength ← Elements#198
Int32
200
Constant 0x1
Int32
201
Constant 0x0
Int32
202
MinMax ← ArrayLength#199, Constant#201 (max)
Int32
203
Constant 0x1
Int32
204
Constant 0x0
Int32
205
Compare ← Constant#203, Constant#204 StrictEq
Bool
206
Test ← Compare#205 → block 7, block 8
1
0
Block 7
207
CallGetIntrinsicValue
Value
208
DebugCheckSelfHosted ← CallGetIntrinsicValue#207
Value
209
Constant undefined
Undefined
210
Constant 0x37
Int32
211
Constant 0x0
Int32
212
Constant string 104289c2e080
String
213
Bail
718
Unreachable
Block 8
216
Constant function IsCallable at 104289c6c7b0
Object
217
DebugCheckSelfHosted ← Constant#216
Value
218
Constant undefined
Undefined
219
Constant 0x1
Int32
220
IsCallable ← Lambda#184
Bool
221
Test ← IsCallable#220 → block 10, block 9
1
0
Block 9
222
CallGetIntrinsicValue
Value
223
DebugCheckSelfHosted ← CallGetIntrinsicValue#222
Value
224
Constant undefined
Undefined
225
Constant 0xc
Int32
226
CallGetIntrinsicValue
Value
227
DebugCheckSelfHosted ← CallGetIntrinsicValue#226
Value
228
Constant undefined
Undefined
229
Constant 0x0
Int32
230
Bail
717
Unreachable
Block 10
235
Constant 0x1
Int32
236
Constant 0x1
Int32
237
Compare ← Constant#235, Constant#236 Gt
Bool
238
Test ← Compare#237 → block 11, block 12
1
0
Block 11
239
Constant 0x1
Int32
240
GetInlinedArgument ← Constant#239, Lambda#184
Value
241
Goto → block 13
Block 12
242
Constant undefined
Undefined
243
Goto → block 13
Block 13
244
Phi ← Constant#242, GetInlinedArgument#240
Value
245
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
246
DebugCheckSelfHosted ← Constant#245
Value
247
Constant undefined
Undefined
248
Constant 0x1
Int32
249
HasShape ← NewArrayObject#153
Bool
250
Test ← HasShape#249 → block 14, block 15
1
0
Block 14
251
Constant function std_Array at 104289c6c820
Object
252
DebugCheckSelfHosted ← Constant#251
Value
253
Constant undefined
Undefined
254
Constant 0x1
Int32
255
Unbox DebugCheckSelfHosted#252 to Object (fallible)
Object
256
Constant function std_Array at 104289c6c820
Object
257
GuardSpecificFunction ← Unbox#255, Constant#256
Object
258
NewArrayDynamicLength ← MinMax#202
Object
259
Goto → block 16
Block 15
260
CallGetIntrinsicValue
Value
261
DebugCheckSelfHosted ← CallGetIntrinsicValue#260
Value
262
Constant undefined
Undefined
263
Bail
716
Unreachable
Block 16
266
Phi ← NewArrayDynamicLength#258
Value
267
Constant 0x0
Int32
279
Goto → block 17
Block 17 (loop header)
268
Phi ← Constant#189, Constant#189
Value
269
Phi ← Constant#189, Constant#189
Value
270
Phi ← NewArrayObject#153, NewArrayObject#153
Value
271
Phi ← Lambda#184, Lambda#184
Value
272
Phi ← NewArrayObject#153, NewArrayObject#153
Value
273
Phi ← MinMax#202, MinMax#202
Value
274
Phi ← Phi#244, Phi#244
Value
275
Phi ← Phi#266, Phi#266
Value
276
Phi ← Constant#267, Add#324
Value
277
Phi ← Constant#189, Phi#321
Value
278
Phi ← NewArrayObject#153, NewArrayObject#153
Value
280
InterruptCheck
281
Unbox Phi#276 to Int32 (fallible)
Int32
282
Unbox Phi#273 to Int32 (fallible)
Int32
283
Compare ← Unbox#281, Unbox#282 Lt
Bool
284
Test ← Compare#283 → block 18, block 24
1
0
Block 18
285
Unbox Phi#272 to Object (fallible)
Object
286
Unbox Phi#276 to Int32 (fallible)
Int32
287
GuardShape ← Unbox#285
Object
288
Elements ← GuardShape#287
Elements
289
InitializedLength ← Elements#288
Int32
290
BoundsCheck ← Unbox#286, InitializedLength#289
Int32
291
SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289
Int32
292
GuardElementNotHole ← Elements#288, SpectreMaskIndex#291
293
Constant true
Bool
294
Test ← Constant#293 → block 20, block 19
1
0
Block 19 (split edge)
719
Goto → block 23
Block 20
295
Unbox Phi#272 to Object (fallible)
Object
296
Unbox Phi#276 to Int32 (fallible)
Int32
297
GuardShape ← Unbox#295
Object
298
Elements ← GuardShape#297
Elements
299
InitializedLength ← Elements#298
Int32
300
BoundsCheck ← Unbox#296, InitializedLength#299
Int32
301
SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299
Int32
302
GuardElementsArePacked ← Elements#298
303
LoadElement ← Elements#298, SpectreMaskIndex#301
Value
304
Constant 0x3
Int32
305
Unbox Phi#271 to Object (fallible)
Object
306
GuardToFunction ← Unbox#305
Object
307
GuardFunctionScript ← GuardToFunction#306
Object
308
Goto → block 21
Block 21
309
Constant undefined
Undefined
310
Constant 0x2
Int32
311
Unbox LoadElement#303 to Double (fallible)
Double
312
Mul ← Unbox#311, Constant#310 [double]
Double
314
Goto → block 22
Block 22
315
Unbox Phi#275 to Object (fallible)
Object
316
Unbox Phi#276 to Int32 (fallible)
Int32
317
GuardShape ← Unbox#315
Object
318
Elements ← GuardShape#317
Elements
319
StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312
320
Goto → block 23
Block 23 (backedge)
321
Phi ← Mul#312, Phi#277
Value
322
Unbox Phi#276 to Int32 (fallible)
Int32
323
Constant 0x1
Int32
324
Add ← Unbox#322, Constant#323 [int32]
Int32
325
Goto → block 17
Block 24
328
Unbox Phi#275 to Object (fallible)
Object
329
GuardShape ← Unbox#328
Object
330
Constant object 104289c3e088 (Array)
Object
331
Constant function filter (self-hosted:183) at 104289c47970
Object
332
Constant function complex4/< (-e:18) at 104289c63d60
Object
333
Lambda ← FunctionEnvironment#179, Constant#332
Object
334
Constant 0x1
Int32
335
Constant function filter (self-hosted:183) at 104289c47970
Object
336
GuardSpecificFunction ← Constant#331, Constant#335
Object
337
Goto → block 25
Block 25
338
Constant undefined
Undefined
339
Constant function ToObject at 104289c6c740
Object
340
DebugCheckSelfHosted ← Constant#339
Value
341
Constant undefined
Undefined
342
Constant 0x1
Int32
343
Unbox Phi#275 to Object (fallible)
Object
344
Constant function ToLength at 104289c6c778
Object
345
DebugCheckSelfHosted ← Constant#344
Value
346
Constant undefined
Undefined
347
GuardShape ← Unbox#343
Object
348
Elements ← GuardShape#347
Elements
349
ArrayLength ← Elements#348
Int32
350
Constant 0x1
Int32
351
Constant 0x0
Int32
352
MinMax ← ArrayLength#349, Constant#351 (max)
Int32
353
Constant 0x1
Int32
354
Constant 0x0
Int32
355
Compare ← Constant#353, Constant#354 StrictEq
Bool
356
Test ← Compare#355 → block 26, block 27
1
0
Block 26
357
CallGetIntrinsicValue
Value
358
DebugCheckSelfHosted ← CallGetIntrinsicValue#357
Value
359
Constant undefined
Undefined
360
Constant 0x37
Int32
361
Constant 0x0
Int32
362
Constant string 104289c28540
String
363
Bail
715
Unreachable
Block 27
366
Constant function IsCallable at 104289c6c7b0
Object
367
DebugCheckSelfHosted ← Constant#366
Value
368
Constant undefined
Undefined
369
Constant 0x1
Int32
370
IsCallable ← Lambda#333
Bool
371
Test ← IsCallable#370 → block 29, block 28
1
0
Block 28
372
CallGetIntrinsicValue
Value
373
DebugCheckSelfHosted ← CallGetIntrinsicValue#372
Value
374
Constant undefined
Undefined
375
Constant 0xc
Int32
376
CallGetIntrinsicValue
Value
377
DebugCheckSelfHosted ← CallGetIntrinsicValue#376
Value
378
Constant undefined
Undefined
379
Constant 0x0
Int32
380
Bail
714
Unreachable
Block 29
385
Constant 0x1
Int32
386
Constant 0x1
Int32
387
Compare ← Constant#385, Constant#386 Gt
Bool
388
Test ← Compare#387 → block 30, block 31
1
0
Block 30
389
Constant 0x1
Int32
390
GetInlinedArgument ← Constant#389, Lambda#333
Value
391
Goto → block 32
Block 31
392
Constant undefined
Undefined
393
Goto → block 32
Block 32
394
Phi ← Constant#392, GetInlinedArgument#390
Value
395
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
396
DebugCheckSelfHosted ← Constant#395
Value
397
Constant undefined
Undefined
398
Constant 0x1
Int32
399
HasShape ← Unbox#343
Bool
400
Test ← HasShape#399 → block 33, block 34
1
0
Block 33
401
Constant shape at 104289c64f00
Shape
402
NewArrayObject ← Constant#401
Object
403
Goto → block 35
Block 34
404
CallGetIntrinsicValue
Value
405
DebugCheckSelfHosted ← CallGetIntrinsicValue#404
Value
406
Constant undefined
Undefined
407
Constant 0x0
Int32
408
Bail
713
Unreachable
Block 35
411
Phi ← NewArrayObject#402
Value
412
Constant 0x0
Int32
413
Constant 0x0
Int32
426
Goto → block 36
Block 36 (loop header)
414
Phi ← Constant#338, Constant#338
Value
415
Phi ← Constant#338, Constant#338
Value
416
Phi ← Phi#275, Phi#275
Value
417
Phi ← Lambda#333, Lambda#333
Value
418
Phi ← Unbox#343, Unbox#343
Value
419
Phi ← MinMax#352, MinMax#352
Value
420
Phi ← Phi#394, Phi#394
Value
421
Phi ← Phi#411, Phi#411
Value
422
Phi ← Constant#412, Add#475
Value
423
Phi ← Constant#413, Phi#471
Value
424
Phi ← Constant#338, Phi#472
Value
425
Phi ← Phi#275, Phi#275
Value
427
InterruptCheck
428
Unbox Phi#422 to Int32 (fallible)
Int32
429
Unbox Phi#419 to Int32 (fallible)
Int32
430
Compare ← Unbox#428, Unbox#429 Lt
Bool
431
Test ← Compare#430 → block 37, block 45
1
0
Block 37
432
Unbox Phi#418 to Object (fallible)
Object
433
Unbox Phi#422 to Int32 (fallible)
Int32
434
GuardShape ← Unbox#432
Object
435
Elements ← GuardShape#434
Elements
436
InitializedLength ← Elements#435
Int32
437
BoundsCheck ← Unbox#433, InitializedLength#436
Int32
438
SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436
Int32
439
GuardElementNotHole ← Elements#435, SpectreMaskIndex#438
440
Constant true
Bool
441
Test ← Constant#440 → block 39, block 38
1
0
Block 38 (split edge)
720
Goto → block 44
Block 39
442
Unbox Phi#418 to Object (fallible)
Object
443
Unbox Phi#422 to Int32 (fallible)
Int32
444
GuardShape ← Unbox#442
Object
445
Elements ← GuardShape#444
Elements
446
InitializedLength ← Elements#445
Int32
447
BoundsCheck ← Unbox#443, InitializedLength#446
Int32
448
SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446
Int32
449
GuardElementsArePacked ← Elements#445
450
LoadElement ← Elements#445, SpectreMaskIndex#448
Value
451
Constant 0x3
Int32
452
Unbox Phi#417 to Object (fallible)
Object
453
GuardToFunction ← Unbox#452
Object
454
GuardFunctionScript ← GuardToFunction#453
Object
455
Goto → block 40
Block 40
456
Constant undefined
Undefined
457
Constant 0x32
Int32
458
Unbox LoadElement#450 to Double (fallible)
Double
459
Compare ← Unbox#458, Constant#457 Gt
Bool
461
Goto → block 41
Block 41
462
Test ← Compare#459 → block 43, block 42
1
0
Block 42 (split edge)
721
Goto → block 44
Block 43
463
Unbox Phi#423 to Int32 (fallible)
Int32
464
Constant 0x1
Int32
465
Add ← Unbox#463, Constant#464 [int32]
Int32
466
Unbox Phi#421 to Object (fallible)
Object
467
GuardShape ← Unbox#466
Object
468
Elements ← GuardShape#467
Elements
469
StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450
470
Goto → block 44
Block 44 (backedge)
471
Phi ← Add#465, Phi#423, Phi#423
Value
472
Phi ← LoadElement#450, Phi#424, LoadElement#450
Value
473
Unbox Phi#422 to Int32 (fallible)
Int32
474
Constant 0x1
Int32
475
Add ← Unbox#473, Constant#474 [int32]
Int32
476
Goto → block 36
Block 45
479
Unbox Phi#421 to Object (fallible)
Object
480
GuardShape ← Unbox#479
Object
481
Constant object 104289c3e088 (Array)
Object
482
Constant function reduce (self-hosted:205) at 104289c479c0
Object
483
Constant function complex4/< (-e:18) at 104289c63d98
Object
484
Lambda ← FunctionEnvironment#179, Constant#483
Object
485
Constant 0x0
Int32
486
Constant 0x2
Int32
487
Constant function reduce (self-hosted:205) at 104289c479c0
Object
488
GuardSpecificFunction ← Constant#482, Constant#487
Object
489
Call ← GuardSpecificFunction#488, Phi#421, Lambda#484, Constant#485
Value
491
Goto → block 46
Block 46
492
Constant object 104289c3f040 (LexicalEnvironment)
Object
493
Constant object 104289c3e030 (global)
Object
494
Constant function complex5 (-e:21) at 104289c6c900
Object
495
Constant undefined
Undefined
496
Constant shape at 104289c64fc0
Shape
497
NewPlainObject ← Constant#496
Object
498
GuardShape ← NewPlainObject#497
Object
499
PostWriteBarrier ← GuardShape#498, Call#112
500
StoreFixedSlot ← GuardShape#498, Call#112 (slot 0)
501
GuardShape ← NewPlainObject#497
Object
502
PostWriteBarrier ← GuardShape#501, BitOr#137
503
StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1)
504
GuardShape ← NewPlainObject#497
Object
505
PostWriteBarrier ← GuardShape#504, Call#147
506
StoreFixedSlot ← GuardShape#504, Call#147 (slot 2)
507
Constant 0x1
Int32
508
Constant function complex5 (-e:21) at 104289c6c900
Object
509
GuardSpecificFunction ← Constant#494, Constant#508
Object
510
Goto → block 47
Block 47
511
Constant undefined
Undefined
512
FunctionEnvironment ← GuardSpecificFunction#509
Object
513
Constant object 104289c3f078 (Call)
Object
514
NewCallObject ← Constant#513
Object
515
AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512
516
AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509
517
StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0)
518
StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1)
519
PostWriteBarrier ← NewCallObject#514, NewPlainObject#497
520
StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2)
521
Constant object 104289c3f040 (LexicalEnvironment)
Object
522
Constant object 104289c3e030 (global)
Object
523
Constant function Object at 104289c422e0
Object
524
Constant function Object at 104289c422e0
Object
525
GuardObjectIdentity ← Constant#523, Constant#524
Object
526
Constant function keys at 104289c42468
Object
527
LoadFixedSlot ← NewCallObject#514 (slot 2)
Value
528
Constant 0x1
Int32
529
Constant function keys at 104289c42468
Object
530
GuardSpecificFunction ← Constant#526, Constant#529
Object
531
Unbox LoadFixedSlot#527 to Object (fallible)
Object
532
GuardIsNotProxy ← Unbox#531
Object
533
ObjectKeys ← GuardIsNotProxy#532
Object
534
GuardShape ← ObjectKeys#533
Object
535
Constant object 104289c3e088 (Array)
Object
536
Constant function map (self-hosted:163) at 104289c47920
Object
537
Constant function complex5/< (-e:22) at 104289c63e08
Object
538
Lambda ← NewCallObject#514, Constant#537
Object
539
Constant 0x1
Int32
540
Constant function map (self-hosted:163) at 104289c47920
Object
541
GuardSpecificFunction ← Constant#536, Constant#540
Object
542
Goto → block 48
Block 48
543
Constant undefined
Undefined
544
Constant function ToObject at 104289c6c740
Object
545
DebugCheckSelfHosted ← Constant#544
Value
546
Constant undefined
Undefined
547
Constant 0x1
Int32
548
Constant function ToLength at 104289c6c778
Object
549
DebugCheckSelfHosted ← Constant#548
Value
550
Constant undefined
Undefined
551
GuardShape ← ObjectKeys#533
Object
552
Elements ← GuardShape#551
Elements
553
ArrayLength ← Elements#552
Int32
554
Constant 0x1
Int32
555
Constant 0x0
Int32
556
MinMax ← ArrayLength#553, Constant#555 (max)
Int32
557
Constant 0x1
Int32
558
Constant 0x0
Int32
559
Compare ← Constant#557, Constant#558 StrictEq
Bool
560
Test ← Compare#559 → block 49, block 50
1
0
Block 49
561
CallGetIntrinsicValue
Value
562
DebugCheckSelfHosted ← CallGetIntrinsicValue#561
Value
563
Constant undefined
Undefined
564
Constant 0x37
Int32
565
Constant 0x0
Int32
566
Constant string 104289c2e080
String
567
Bail
712
Unreachable
Block 50
570
Constant function IsCallable at 104289c6c7b0
Object
571
DebugCheckSelfHosted ← Constant#570
Value
572
Constant undefined
Undefined
573
Constant 0x1
Int32
574
IsCallable ← Lambda#538
Bool
575
Test ← IsCallable#574 → block 52, block 51
1
0
Block 51
576
CallGetIntrinsicValue
Value
577
DebugCheckSelfHosted ← CallGetIntrinsicValue#576
Value
578
Constant undefined
Undefined
579
Constant 0xc
Int32
580
CallGetIntrinsicValue
Value
581
DebugCheckSelfHosted ← CallGetIntrinsicValue#580
Value
582
Constant undefined
Undefined
583
Constant 0x0
Int32
584
Bail
711
Unreachable
Block 52
589
Constant 0x1
Int32
590
Constant 0x1
Int32
591
Compare ← Constant#589, Constant#590 Gt
Bool
592
Test ← Compare#591 → block 53, block 54
1
0
Block 53
593
Constant 0x1
Int32
594
GetInlinedArgument ← Constant#593, Lambda#538
Value
595
Goto → block 55
Block 54
596
Constant undefined
Undefined
597
Goto → block 55
Block 55
598
Phi ← Constant#596, GetInlinedArgument#594
Value
599
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
600
DebugCheckSelfHosted ← Constant#599
Value
601
Constant undefined
Undefined
602
Constant 0x1
Int32
603
HasShape ← ObjectKeys#533
Bool
604
Test ← HasShape#603 → block 56, block 57
1
0
Block 56
605
Constant function std_Array at 104289c6c820
Object
606
DebugCheckSelfHosted ← Constant#605
Value
607
Constant undefined
Undefined
608
Constant 0x1
Int32
609
Unbox DebugCheckSelfHosted#606 to Object (fallible)
Object
610
Constant function std_Array at 104289c6c820
Object
611
GuardSpecificFunction ← Unbox#609, Constant#610
Object
612
NewArrayDynamicLength ← MinMax#556
Object
613
Goto → block 58
Block 57
614
CallGetIntrinsicValue
Value
615
DebugCheckSelfHosted ← CallGetIntrinsicValue#614
Value
616
Constant undefined
Undefined
617
Bail
710
Unreachable
Block 58
620
Phi ← NewArrayDynamicLength#612
Value
621
Constant 0x0
Int32
633
Goto → block 59
Block 59 (loop header)
622
Phi ← Constant#543, Constant#543
Value
623
Phi ← Constant#543, Constant#543
Value
624
Phi ← ObjectKeys#533, ObjectKeys#533
Value
625
Phi ← Lambda#538, Lambda#538
Value
626
Phi ← ObjectKeys#533, ObjectKeys#533
Value
627
Phi ← MinMax#556, MinMax#556
Value
628
Phi ← Phi#598, Phi#598
Value
629
Phi ← Phi#620, Phi#620
Value
630
Phi ← Constant#621, Add#679
Value
631
Phi ← Constant#543, Phi#676
Value
632
Phi ← ObjectKeys#533, ObjectKeys#533
Value
634
InterruptCheck
635
Unbox Phi#630 to Int32 (fallible)
Int32
636
Unbox Phi#627 to Int32 (fallible)
Int32
637
Compare ← Unbox#635, Unbox#636 Lt
Bool
638
Test ← Compare#637 → block 60, block 66
1
0
Block 60
639
Unbox Phi#626 to Object (fallible)
Object
640
Unbox Phi#630 to Int32 (fallible)
Int32
641
GuardShape ← Unbox#639
Object
642
Elements ← GuardShape#641
Elements
643
InitializedLength ← Elements#642
Int32
644
BoundsCheck ← Unbox#640, InitializedLength#643
Int32
645
SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643
Int32
646
GuardElementNotHole ← Elements#642, SpectreMaskIndex#645
647
Constant true
Bool
648
Test ← Constant#647 → block 62, block 61
1
0
Block 61 (split edge)
722
Goto → block 65
Block 62
649
Unbox Phi#626 to Object (fallible)
Object
650
Unbox Phi#630 to Int32 (fallible)
Int32
651
GuardShape ← Unbox#649
Object
652
Elements ← GuardShape#651
Elements
653
InitializedLength ← Elements#652
Int32
654
BoundsCheck ← Unbox#650, InitializedLength#653
Int32
655
SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653
Int32
656
GuardElementsArePacked ← Elements#652
657
LoadElement ← Elements#652, SpectreMaskIndex#655
Value
658
Constant 0x3
Int32
659
Unbox Phi#625 to Object (fallible)
Object
660
GuardToFunction ← Unbox#659
Object
661
GuardFunctionScript ← GuardToFunction#660
Object
662
Goto → block 63
Block 63
663
Constant undefined
Undefined
664
FunctionEnvironment ← GuardFunctionScript#661
Object
665
LoadFixedSlot ← FunctionEnvironment#664 (slot 2)
Value
666
Unbox LoadFixedSlot#665 to Object (fallible)
Object
667
MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657
Value
669
Goto → block 64
Block 64
670
Unbox Phi#629 to Object (fallible)
Object
671
Unbox Phi#630 to Int32 (fallible)
Int32
672
GuardShape ← Unbox#670
Object
673
Elements ← GuardShape#672
Elements
674
StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667
675
Goto → block 65
Block 65 (backedge)
676
Phi ← MegamorphicLoadSlotByValue#667, Phi#631
Value
677
Unbox Phi#630 to Int32 (fallible)
Int32
678
Constant 0x1
Int32
679
Add ← Unbox#677, Constant#678 [int32]
Int32
680
Goto → block 59
Block 66
683
Unbox Phi#629 to Object (fallible)
Object
684
GuardShape ← Unbox#683
Object
685
Constant object 104289c3e088 (Array)
Object
686
Constant function reduce (self-hosted:205) at 104289c479c0
Object
687
Constant function complex5/< (-e:22) at 104289c63e40
Object
688
Lambda ← NewCallObject#514, Constant#687
Object
689
Constant 0x0
Int32
690
Constant 0x2
Int32
691
Constant function reduce (self-hosted:205) at 104289c479c0
Object
692
GuardSpecificFunction ← Constant#686, Constant#691
Object
693
Call ← GuardSpecificFunction#692, Phi#629, Lambda#688, Constant#689
Value
695
Goto → block 67
Block 67 (backedge)
696
Unbox Phi#95 to Int32 (fallible)
Int32
697
Constant 0x1
Int32
698
Add ← Unbox#696, Constant#697 [int32]
Int32
699
Goto → block 1
Block 68
700
Unbox Phi#88 to Double (fallible)
Double
701
Unbox Phi#89 to Double (fallible)
Double
702
Add ← Unbox#700, Unbox#701 [double]
Double
703
Unbox Phi#90 to Double (fallible)
Double
704
Add ← Add#702, Unbox#703 [double]
Double
705
Unbox Phi#92 to Double (fallible)
Double
706
Add ← Add#704, Unbox#705 [double]
Double
707
Unbox Phi#94 to Double (fallible)
Double
708
Add ← Add#706, Unbox#707 [double]
Double
709
Return ← Add#708
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant object 104289c3f040 (LexicalEnvironment)
Object
7
Constant object 104289c3e030 (global)
Object
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
9
Constant undefined
Undefined
10
Constant 0x1
Int32
11
Constant function complex1 (-e:2) at 104289c6c8c8
Object
12
GuardSpecificFunction ← Constant#8, Constant#11
Object
13
Call ← GuardSpecificFunction#12, Constant#9, Parameter#1
Value
14
Constant object 104289c3f040 (LexicalEnvironment)
Object
15
Constant object 104289c3e030 (global)
Object
16
Constant function complex2 (-e:7) at 104289c6c970
Object
17
Constant undefined
Undefined
18
Constant 0x1
Int32
19
Constant function complex2 (-e:7) at 104289c6c970
Object
20
GuardSpecificFunction ← Constant#16, Constant#19
Object
21
Call ← GuardSpecificFunction#20, Constant#17, Parameter#1
Value
22
Constant object 104289c3f040 (LexicalEnvironment)
Object
23
Constant object 104289c3e030 (global)
Object
24
Constant function complex3 (-e:11) at 104289c6c938
Object
25
Constant undefined
Undefined
26
Constant 0x2
Int32
27
Constant function complex3 (-e:11) at 104289c6c938
Object
28
GuardSpecificFunction ← Constant#24, Constant#27
Object
29
Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
52
Constant object 104289c3f040 (LexicalEnvironment)
Object
53
Constant object 104289c3e030 (global)
Object
54
Constant function complex4 (-e:17) at 104289c6c890
Object
55
Constant undefined
Undefined
56
Constant 0x1
Int32
57
Constant function complex4 (-e:17) at 104289c6c890
Object
58
GuardSpecificFunction ← Constant#54, Constant#57
Object
59
Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
65
GuardShape ← NewPlainObject#61
Object
66
PostWriteBarrier ← GuardShape#65, Call#21
67
StoreFixedSlot ← GuardShape#65, Call#21 (slot 1)
68
GuardShape ← NewPlainObject#61
Object
69
PostWriteBarrier ← GuardShape#68, Call#29
70
StoreFixedSlot ← GuardShape#68, Call#29 (slot 2)
71
GuardShape ← NewPlainObject#61
Object
72
PostWriteBarrier ← GuardShape#71, Call#59
73
StoreFixedSlot ← GuardShape#71, Call#59 (slot 3)
74
Constant object 104289c3f040 (LexicalEnvironment)
Object
75
Constant object 104289c3e030 (global)
Object
76
Constant function complex5 (-e:21) at 104289c6c900
Object
77
Constant undefined
Undefined
78
Constant 0x1
Int32
79
Constant function complex5 (-e:21) at 104289c6c900
Object
80
GuardSpecificFunction ← Constant#76, Constant#79
Object
81
Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61
Value
82
Constant magic uninitialized-lexical
MagicUninitializedLexical
83
Constant 0x0
Int32
96
Goto → block 1
Block 1 (loop header)
88
Phi ← Call#13, Call#112
Value
89
Phi ← Call#21, BitOr#137
Value
90
Phi ← Call#29, Call#147
Value
92
Phi ← Call#59, Call#489
Value
94
Phi ← Call#81, Call#693
Value
95
Phi ← Constant#83, Add#698
Value
97
InterruptCheck
98
Constant 0xa
Int32
99
Unbox Phi#95 to Int32 (fallible)
Int32
100
Compare ← Unbox#99, Constant#98 Lt
Bool
101
Test ← Compare#100 → block 2, block 68
1
0
Block 2
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant function complex1 (-e:2) at 104289c6c8c8
Object
105
Constant undefined
Undefined
106
Unbox Phi#88 to Double (fallible)
Double
107
Unbox Phi#95 to Double (fallible)
Double
108
Add ← Unbox#106, Unbox#107 [double]
Double
109
Constant 0x1
Int32
110
Constant function complex1 (-e:2) at 104289c6c8c8
Object
111
GuardSpecificFunction ← Constant#104, Constant#110
Object
112
Call ← GuardSpecificFunction#111, Constant#105, Add#108
Value
113
Constant object 104289c3f040 (LexicalEnvironment)
Object
114
Constant object 104289c3e030 (global)
Object
115
Constant function complex2 (-e:7) at 104289c6c970
Object
116
Constant undefined
Undefined
117
Unbox Phi#89 to Int32 (fallible)
Int32
118
Unbox Phi#95 to Int32 (fallible)
Int32
119
Add ← Unbox#117, Unbox#118 [int32]
Int32
120
Constant 0x1
Int32
121
Constant function complex2 (-e:7) at 104289c6c970
Object
122
GuardSpecificFunction ← Constant#115, Constant#121
Object
123
Goto → block 3
Block 3
124
Constant undefined
Undefined
125
Constant 0x1
Int32
126
Lsh ← Add#119, Constant#125
Int32
127
Constant 0x1
Int32
128
Rsh ← Add#119, Constant#127
Int32
129
Constant 0xff
Int32
130
BitAnd ← Add#119, Constant#129
Int32
131
Constant 0x2
Int32
132
Ursh ← Add#119, Constant#131
Int32
133
Add ← BitAnd#130, Ursh#132 [int32]
Int32
134
BitNot ← Add#119
Int32
135
Sub ← Add#133, BitNot#134 [int32]
Int32
136
BitXor ← Rsh#128, Sub#135
Int32
137
BitOr ← Lsh#126, BitXor#136
Int32
139
Goto → block 4
Block 4
140
Constant object 104289c3f040 (LexicalEnvironment)
Object
141
Constant object 104289c3e030 (global)
Object
142
Constant function complex3 (-e:11) at 104289c6c938
Object
143
Constant undefined
Undefined
144
Constant 0x2
Int32
145
Constant function complex3 (-e:11) at 104289c6c938
Object
146
GuardSpecificFunction ← Constant#142, Constant#145
Object
147
Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112
Value
148
Constant object 104289c3f040 (LexicalEnvironment)
Object
149
Constant object 104289c3e030 (global)
Object
150
Constant function complex4 (-e:17) at 104289c6c890
Object
151
Constant undefined
Undefined
152
Constant shape at 104289c64f00
Shape
153
NewArrayObject ← Constant#152
Object
154
Constant 0x0
Int32
155
Elements ← NewArrayObject#153
Elements
156
PostWriteBarrier ← NewArrayObject#153, Call#112
157
StoreElement ← Elements#155, Constant#154, Call#112
158
SetInitializedLength ← Elements#155, Constant#154
159
Constant 0x1
Int32
160
Elements ← NewArrayObject#153
Elements
161
PostWriteBarrier ← NewArrayObject#153, BitOr#137
162
StoreElement ← Elements#160, Constant#159, BitOr#137
163
SetInitializedLength ← Elements#160, Constant#159
164
Constant 0x2
Int32
165
Elements ← NewArrayObject#153
Elements
166
PostWriteBarrier ← NewArrayObject#153, Call#147
167
StoreElement ← Elements#165, Constant#164, Call#147
168
SetInitializedLength ← Elements#165, Constant#164
169
Constant 0x3
Int32
170
Elements ← NewArrayObject#153
Elements
171
PostWriteBarrier ← NewArrayObject#153, Phi#95
172
StoreElement ← Elements#170, Constant#169, Phi#95
173
SetInitializedLength ← Elements#170, Constant#169
174
Constant 0x1
Int32
175
Constant function complex4 (-e:17) at 104289c6c890
Object
176
GuardSpecificFunction ← Constant#150, Constant#175
Object
177
Goto → block 5
Block 5
178
Constant undefined
Undefined
179
FunctionEnvironment ← GuardSpecificFunction#176
Object
180
GuardShape ← NewArrayObject#153
Object
181
Constant object 104289c3e088 (Array)
Object
182
Constant function map (self-hosted:163) at 104289c47920
Object
183
Constant function complex4/< (-e:18) at 104289c63d28
Object
184
Lambda ← FunctionEnvironment#179, Constant#183
Object
185
Constant 0x1
Int32
186
Constant function map (self-hosted:163) at 104289c47920
Object
187
GuardSpecificFunction ← Constant#182, Constant#186
Object
188
Goto → block 6
Block 6
189
Constant undefined
Undefined
190
Constant function ToObject at 104289c6c740
Object
191
DebugCheckSelfHosted ← Constant#190
Value
192
Constant undefined
Undefined
193
Constant 0x1
Int32
194
Constant function ToLength at 104289c6c778
Object
195
DebugCheckSelfHosted ← Constant#194
Value
196
Constant undefined
Undefined
197
GuardShape ← NewArrayObject#153
Object
198
Elements ← GuardShape#197
Elements
199
ArrayLength ← Elements#198
Int32
200
Constant 0x1
Int32
201
Constant 0x0
Int32
202
MinMax ← ArrayLength#199, Constant#201 (max)
Int32
203
Constant 0x1
Int32
204
Constant 0x0
Int32
205
Compare ← Constant#203, Constant#204 StrictEq
Bool
206
Test ← Compare#205 → block 7, block 8
1
0
Block 7
207
CallGetIntrinsicValue
Value
208
DebugCheckSelfHosted ← CallGetIntrinsicValue#207
Value
209
Constant undefined
Undefined
210
Constant 0x37
Int32
211
Constant 0x0
Int32
212
Constant string 104289c2e080
String
213
Bail
718
Unreachable
Block 8
216
Constant function IsCallable at 104289c6c7b0
Object
217
DebugCheckSelfHosted ← Constant#216
Value
218
Constant undefined
Undefined
219
Constant 0x1
Int32
220
IsCallable ← Lambda#184
Bool
221
Test ← IsCallable#220 → block 10, block 9
1
0
Block 9
222
CallGetIntrinsicValue
Value
223
DebugCheckSelfHosted ← CallGetIntrinsicValue#222
Value
224
Constant undefined
Undefined
225
Constant 0xc
Int32
226
CallGetIntrinsicValue
Value
227
DebugCheckSelfHosted ← CallGetIntrinsicValue#226
Value
228
Constant undefined
Undefined
229
Constant 0x0
Int32
230
Bail
717
Unreachable
Block 10
235
Constant 0x1
Int32
236
Constant 0x1
Int32
237
Compare ← Constant#235, Constant#236 Gt
Bool
238
Test ← Compare#237 → block 11, block 12
1
0
Block 11
239
Constant 0x1
Int32
240
GetInlinedArgument ← Constant#239, Lambda#184
Value
241
Goto → block 13
Block 12
242
Constant undefined
Undefined
243
Goto → block 13
Block 13
244
Phi ← Constant#242, GetInlinedArgument#240
Value
245
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
246
DebugCheckSelfHosted ← Constant#245
Value
247
Constant undefined
Undefined
248
Constant 0x1
Int32
249
HasShape ← NewArrayObject#153
Bool
250
Test ← HasShape#249 → block 14, block 15
1
0
Block 14
251
Constant function std_Array at 104289c6c820
Object
252
DebugCheckSelfHosted ← Constant#251
Value
253
Constant undefined
Undefined
254
Constant 0x1
Int32
255
Unbox DebugCheckSelfHosted#252 to Object (fallible)
Object
256
Constant function std_Array at 104289c6c820
Object
257
GuardSpecificFunction ← Unbox#255, Constant#256
Object
258
NewArrayDynamicLength ← MinMax#202
Object
259
Goto → block 16
Block 15
260
CallGetIntrinsicValue
Value
261
DebugCheckSelfHosted ← CallGetIntrinsicValue#260
Value
262
Constant undefined
Undefined
263
Bail
716
Unreachable
Block 16
267
Constant 0x0
Int32
279
Goto → block 17
Block 17 (loop header)
276
Phi ← Constant#267, Add#324
Value
734
Constant magic optimized-out
MagicOptimizedOut
280
InterruptCheck
281
Unbox Phi#276 to Int32 (fallible)
Int32
282
Unbox MinMax#202 to Int32 (fallible)
Int32
283
Compare ← Unbox#281, Unbox#282 Lt
Bool
284
Test ← Compare#283 → block 18, block 24
1
0
Block 18
739
Constant magic optimized-out
MagicOptimizedOut
285
Unbox NewArrayObject#153 to Object (fallible)
Object
286
Unbox Phi#276 to Int32 (fallible)
Int32
287
GuardShape ← Unbox#285
Object
288
Elements ← GuardShape#287
Elements
289
InitializedLength ← Elements#288
Int32
290
BoundsCheck ← Unbox#286, InitializedLength#289
Int32
291
SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289
Int32
292
GuardElementNotHole ← Elements#288, SpectreMaskIndex#291
293
Constant true
Bool
294
Test ← Constant#293 → block 20, block 19
1
0
Block 19 (split edge)
736
Constant magic optimized-out
MagicOptimizedOut
719
Goto → block 23
Block 20
738
Constant magic optimized-out
MagicOptimizedOut
295
Unbox NewArrayObject#153 to Object (fallible)
Object
296
Unbox Phi#276 to Int32 (fallible)
Int32
297
GuardShape ← Unbox#295
Object
298
Elements ← GuardShape#297
Elements
299
InitializedLength ← Elements#298
Int32
300
BoundsCheck ← Unbox#296, InitializedLength#299
Int32
301
SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299
Int32
302
GuardElementsArePacked ← Elements#298
303
LoadElement ← Elements#298, SpectreMaskIndex#301
Value
304
Constant 0x3
Int32
305
Unbox Lambda#184 to Object (fallible)
Object
306
GuardToFunction ← Unbox#305
Object
307
GuardFunctionScript ← GuardToFunction#306
Object
308
Goto → block 21
Block 21
309
Constant undefined
Undefined
310
Constant 0x2
Int32
311
Unbox LoadElement#303 to Double (fallible)
Double
312
Mul ← Unbox#311, Constant#310 [double]
Double
314
Goto → block 22
Block 22
737
Constant magic optimized-out
MagicOptimizedOut
315
Unbox NewArrayDynamicLength#258 to Object (fallible)
Object
316
Unbox Phi#276 to Int32 (fallible)
Int32
317
GuardShape ← Unbox#315
Object
318
Elements ← GuardShape#317
Elements
319
StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312
320
Goto → block 23
Block 23 (backedge)
735
Constant magic optimized-out
MagicOptimizedOut
322
Unbox Phi#276 to Int32 (fallible)
Int32
323
Constant 0x1
Int32
324
Add ← Unbox#322, Constant#323 [int32]
Int32
325
Goto → block 17
Block 24
328
Unbox NewArrayDynamicLength#258 to Object (fallible)
Object
329
GuardShape ← Unbox#328
Object
330
Constant object 104289c3e088 (Array)
Object
331
Constant function filter (self-hosted:183) at 104289c47970
Object
332
Constant function complex4/< (-e:18) at 104289c63d60
Object
333
Lambda ← FunctionEnvironment#179, Constant#332
Object
334
Constant 0x1
Int32
335
Constant function filter (self-hosted:183) at 104289c47970
Object
336
GuardSpecificFunction ← Constant#331, Constant#335
Object
337
Goto → block 25
Block 25
338
Constant undefined
Undefined
339
Constant function ToObject at 104289c6c740
Object
340
DebugCheckSelfHosted ← Constant#339
Value
341
Constant undefined
Undefined
342
Constant 0x1
Int32
343
Unbox NewArrayDynamicLength#258 to Object (fallible)
Object
344
Constant function ToLength at 104289c6c778
Object
345
DebugCheckSelfHosted ← Constant#344
Value
346
Constant undefined
Undefined
347
GuardShape ← Unbox#343
Object
348
Elements ← GuardShape#347
Elements
349
ArrayLength ← Elements#348
Int32
350
Constant 0x1
Int32
351
Constant 0x0
Int32
352
MinMax ← ArrayLength#349, Constant#351 (max)
Int32
353
Constant 0x1
Int32
354
Constant 0x0
Int32
355
Compare ← Constant#353, Constant#354 StrictEq
Bool
356
Test ← Compare#355 → block 26, block 27
1
0
Block 26
357
CallGetIntrinsicValue
Value
358
DebugCheckSelfHosted ← CallGetIntrinsicValue#357
Value
359
Constant undefined
Undefined
360
Constant 0x37
Int32
361
Constant 0x0
Int32
362
Constant string 104289c28540
String
363
Bail
715
Unreachable
Block 27
366
Constant function IsCallable at 104289c6c7b0
Object
367
DebugCheckSelfHosted ← Constant#366
Value
368
Constant undefined
Undefined
369
Constant 0x1
Int32
370
IsCallable ← Lambda#333
Bool
371
Test ← IsCallable#370 → block 29, block 28
1
0
Block 28
372
CallGetIntrinsicValue
Value
373
DebugCheckSelfHosted ← CallGetIntrinsicValue#372
Value
374
Constant undefined
Undefined
375
Constant 0xc
Int32
376
CallGetIntrinsicValue
Value
377
DebugCheckSelfHosted ← CallGetIntrinsicValue#376
Value
378
Constant undefined
Undefined
379
Constant 0x0
Int32
380
Bail
714
Unreachable
Block 29
385
Constant 0x1
Int32
386
Constant 0x1
Int32
387
Compare ← Constant#385, Constant#386 Gt
Bool
388
Test ← Compare#387 → block 30, block 31
1
0
Block 30
389
Constant 0x1
Int32
390
GetInlinedArgument ← Constant#389, Lambda#333
Value
391
Goto → block 32
Block 31
392
Constant undefined
Undefined
393
Goto → block 32
Block 32
394
Phi ← Constant#392, GetInlinedArgument#390
Value
395
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
396
DebugCheckSelfHosted ← Constant#395
Value
397
Constant undefined
Undefined
398
Constant 0x1
Int32
399
HasShape ← Unbox#343
Bool
400
Test ← HasShape#399 → block 33, block 34
1
0
Block 33
401
Constant shape at 104289c64f00
Shape
402
NewArrayObject ← Constant#401
Object
403
Goto → block 35
Block 34
404
CallGetIntrinsicValue
Value
405
DebugCheckSelfHosted ← CallGetIntrinsicValue#404
Value
406
Constant undefined
Undefined
407
Constant 0x0
Int32
408
Bail
713
Unreachable
Block 35
412
Constant 0x0
Int32
413
Constant 0x0
Int32
426
Goto → block 36
Block 36 (loop header)
422
Phi ← Constant#412, Add#475
Value
423
Phi ← Constant#413, Phi#471
Value
729
Constant magic optimized-out
MagicOptimizedOut
427
InterruptCheck
428
Unbox Phi#422 to Int32 (fallible)
Int32
429
Unbox MinMax#352 to Int32 (fallible)
Int32
430
Compare ← Unbox#428, Unbox#429 Lt
Bool
431
Test ← Compare#430 → block 37, block 45
1
0
Block 37
733
Constant magic optimized-out
MagicOptimizedOut
432
Unbox Unbox#343 to Object (fallible)
Object
433
Unbox Phi#422 to Int32 (fallible)
Int32
434
GuardShape ← Unbox#432
Object
435
Elements ← GuardShape#434
Elements
436
InitializedLength ← Elements#435
Int32
437
BoundsCheck ← Unbox#433, InitializedLength#436
Int32
438
SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436
Int32
439
GuardElementNotHole ← Elements#435, SpectreMaskIndex#438
440
Constant true
Bool
441
Test ← Constant#440 → block 39, block 38
1
0
Block 38 (split edge)
731
Constant magic optimized-out
MagicOptimizedOut
720
Goto → block 44
Block 39
732
Constant magic optimized-out
MagicOptimizedOut
442
Unbox Unbox#343 to Object (fallible)
Object
443
Unbox Phi#422 to Int32 (fallible)
Int32
444
GuardShape ← Unbox#442
Object
445
Elements ← GuardShape#444
Elements
446
InitializedLength ← Elements#445
Int32
447
BoundsCheck ← Unbox#443, InitializedLength#446
Int32
448
SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446
Int32
449
GuardElementsArePacked ← Elements#445
450
LoadElement ← Elements#445, SpectreMaskIndex#448
Value
451
Constant 0x3
Int32
452
Unbox Lambda#333 to Object (fallible)
Object
453
GuardToFunction ← Unbox#452
Object
454
GuardFunctionScript ← GuardToFunction#453
Object
455
Goto → block 40
Block 40
456
Constant undefined
Undefined
457
Constant 0x32
Int32
458
Unbox LoadElement#450 to Double (fallible)
Double
459
Compare ← Unbox#458, Constant#457 Gt
Bool
461
Goto → block 41
Block 41
462
Test ← Compare#459 → block 43, block 42
1
0
Block 42 (split edge)
721
Goto → block 44
Block 43
463
Unbox Phi#423 to Int32 (fallible)
Int32
464
Constant 0x1
Int32
465
Add ← Unbox#463, Constant#464 [int32]
Int32
466
Unbox NewArrayObject#402 to Object (fallible)
Object
467
GuardShape ← Unbox#466
Object
468
Elements ← GuardShape#467
Elements
469
StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450
470
Goto → block 44
Block 44 (backedge)
471
Phi ← Add#465, Phi#423, Phi#423
Value
730
Constant magic optimized-out
MagicOptimizedOut
473
Unbox Phi#422 to Int32 (fallible)
Int32
474
Constant 0x1
Int32
475
Add ← Unbox#473, Constant#474 [int32]
Int32
476
Goto → block 36
Block 45
479
Unbox NewArrayObject#402 to Object (fallible)
Object
480
GuardShape ← Unbox#479
Object
481
Constant object 104289c3e088 (Array)
Object
482
Constant function reduce (self-hosted:205) at 104289c479c0
Object
483
Constant function complex4/< (-e:18) at 104289c63d98
Object
484
Lambda ← FunctionEnvironment#179, Constant#483
Object
485
Constant 0x0
Int32
486
Constant 0x2
Int32
487
Constant function reduce (self-hosted:205) at 104289c479c0
Object
488
GuardSpecificFunction ← Constant#482, Constant#487
Object
489
Call ← GuardSpecificFunction#488, NewArrayObject#402, Lambda#484, Constant#485
Value
491
Goto → block 46
Block 46
492
Constant object 104289c3f040 (LexicalEnvironment)
Object
493
Constant object 104289c3e030 (global)
Object
494
Constant function complex5 (-e:21) at 104289c6c900
Object
495
Constant undefined
Undefined
496
Constant shape at 104289c64fc0
Shape
497
NewPlainObject ← Constant#496
Object
498
GuardShape ← NewPlainObject#497
Object
499
PostWriteBarrier ← GuardShape#498, Call#112
500
StoreFixedSlot ← GuardShape#498, Call#112 (slot 0)
501
GuardShape ← NewPlainObject#497
Object
502
PostWriteBarrier ← GuardShape#501, BitOr#137
503
StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1)
504
GuardShape ← NewPlainObject#497
Object
505
PostWriteBarrier ← GuardShape#504, Call#147
506
StoreFixedSlot ← GuardShape#504, Call#147 (slot 2)
507
Constant 0x1
Int32
508
Constant function complex5 (-e:21) at 104289c6c900
Object
509
GuardSpecificFunction ← Constant#494, Constant#508
Object
510
Goto → block 47
Block 47
511
Constant undefined
Undefined
512
FunctionEnvironment ← GuardSpecificFunction#509
Object
513
Constant object 104289c3f078 (Call)
Object
514
NewCallObject ← Constant#513
Object
515
AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512
516
AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509
517
StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0)
518
StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1)
519
PostWriteBarrier ← NewCallObject#514, NewPlainObject#497
520
StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2)
521
Constant object 104289c3f040 (LexicalEnvironment)
Object
522
Constant object 104289c3e030 (global)
Object
523
Constant function Object at 104289c422e0
Object
524
Constant function Object at 104289c422e0
Object
525
GuardObjectIdentity ← Constant#523, Constant#524
Object
526
Constant function keys at 104289c42468
Object
527
LoadFixedSlot ← NewCallObject#514 (slot 2)
Value
528
Constant 0x1
Int32
529
Constant function keys at 104289c42468
Object
530
GuardSpecificFunction ← Constant#526, Constant#529
Object
531
Unbox LoadFixedSlot#527 to Object (fallible)
Object
532
GuardIsNotProxy ← Unbox#531
Object
533
ObjectKeys ← GuardIsNotProxy#532
Object
534
GuardShape ← ObjectKeys#533
Object
535
Constant object 104289c3e088 (Array)
Object
536
Constant function map (self-hosted:163) at 104289c47920
Object
537
Constant function complex5/< (-e:22) at 104289c63e08
Object
538
Lambda ← NewCallObject#514, Constant#537
Object
539
Constant 0x1
Int32
540
Constant function map (self-hosted:163) at 104289c47920
Object
541
GuardSpecificFunction ← Constant#536, Constant#540
Object
542
Goto → block 48
Block 48
543
Constant undefined
Undefined
544
Constant function ToObject at 104289c6c740
Object
545
DebugCheckSelfHosted ← Constant#544
Value
546
Constant undefined
Undefined
547
Constant 0x1
Int32
548
Constant function ToLength at 104289c6c778
Object
549
DebugCheckSelfHosted ← Constant#548
Value
550
Constant undefined
Undefined
551
GuardShape ← ObjectKeys#533
Object
552
Elements ← GuardShape#551
Elements
553
ArrayLength ← Elements#552
Int32
554
Constant 0x1
Int32
555
Constant 0x0
Int32
556
MinMax ← ArrayLength#553, Constant#555 (max)
Int32
557
Constant 0x1
Int32
558
Constant 0x0
Int32
559
Compare ← Constant#557, Constant#558 StrictEq
Bool
560
Test ← Compare#559 → block 49, block 50
1
0
Block 49
561
CallGetIntrinsicValue
Value
562
DebugCheckSelfHosted ← CallGetIntrinsicValue#561
Value
563
Constant undefined
Undefined
564
Constant 0x37
Int32
565
Constant 0x0
Int32
566
Constant string 104289c2e080
String
567
Bail
712
Unreachable
Block 50
570
Constant function IsCallable at 104289c6c7b0
Object
571
DebugCheckSelfHosted ← Constant#570
Value
572
Constant undefined
Undefined
573
Constant 0x1
Int32
574
IsCallable ← Lambda#538
Bool
575
Test ← IsCallable#574 → block 52, block 51
1
0
Block 51
576
CallGetIntrinsicValue
Value
577
DebugCheckSelfHosted ← CallGetIntrinsicValue#576
Value
578
Constant undefined
Undefined
579
Constant 0xc
Int32
580
CallGetIntrinsicValue
Value
581
DebugCheckSelfHosted ← CallGetIntrinsicValue#580
Value
582
Constant undefined
Undefined
583
Constant 0x0
Int32
584
Bail
711
Unreachable
Block 52
589
Constant 0x1
Int32
590
Constant 0x1
Int32
591
Compare ← Constant#589, Constant#590 Gt
Bool
592
Test ← Compare#591 → block 53, block 54
1
0
Block 53
593
Constant 0x1
Int32
594
GetInlinedArgument ← Constant#593, Lambda#538
Value
595
Goto → block 55
Block 54
596
Constant undefined
Undefined
597
Goto → block 55
Block 55
598
Phi ← Constant#596, GetInlinedArgument#594
Value
599
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
600
DebugCheckSelfHosted ← Constant#599
Value
601
Constant undefined
Undefined
602
Constant 0x1
Int32
603
HasShape ← ObjectKeys#533
Bool
604
Test ← HasShape#603 → block 56, block 57
1
0
Block 56
605
Constant function std_Array at 104289c6c820
Object
606
DebugCheckSelfHosted ← Constant#605
Value
607
Constant undefined
Undefined
608
Constant 0x1
Int32
609
Unbox DebugCheckSelfHosted#606 to Object (fallible)
Object
610
Constant function std_Array at 104289c6c820
Object
611
GuardSpecificFunction ← Unbox#609, Constant#610
Object
612
NewArrayDynamicLength ← MinMax#556
Object
613
Goto → block 58
Block 57
614
CallGetIntrinsicValue
Value
615
DebugCheckSelfHosted ← CallGetIntrinsicValue#614
Value
616
Constant undefined
Undefined
617
Bail
710
Unreachable
Block 58
621
Constant 0x0
Int32
633
Goto → block 59
Block 59 (loop header)
630
Phi ← Constant#621, Add#679
Value
723
Constant magic optimized-out
MagicOptimizedOut
634
InterruptCheck
635
Unbox Phi#630 to Int32 (fallible)
Int32
636
Unbox MinMax#556 to Int32 (fallible)
Int32
637
Compare ← Unbox#635, Unbox#636 Lt
Bool
638
Test ← Compare#637 → block 60, block 66
1
0
Block 60
728
Constant magic optimized-out
MagicOptimizedOut
639
Unbox ObjectKeys#533 to Object (fallible)
Object
640
Unbox Phi#630 to Int32 (fallible)
Int32
641
GuardShape ← Unbox#639
Object
642
Elements ← GuardShape#641
Elements
643
InitializedLength ← Elements#642
Int32
644
BoundsCheck ← Unbox#640, InitializedLength#643
Int32
645
SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643
Int32
646
GuardElementNotHole ← Elements#642, SpectreMaskIndex#645
647
Constant true
Bool
648
Test ← Constant#647 → block 62, block 61
1
0
Block 61 (split edge)
725
Constant magic optimized-out
MagicOptimizedOut
722
Goto → block 65
Block 62
727
Constant magic optimized-out
MagicOptimizedOut
649
Unbox ObjectKeys#533 to Object (fallible)
Object
650
Unbox Phi#630 to Int32 (fallible)
Int32
651
GuardShape ← Unbox#649
Object
652
Elements ← GuardShape#651
Elements
653
InitializedLength ← Elements#652
Int32
654
BoundsCheck ← Unbox#650, InitializedLength#653
Int32
655
SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653
Int32
656
GuardElementsArePacked ← Elements#652
657
LoadElement ← Elements#652, SpectreMaskIndex#655
Value
658
Constant 0x3
Int32
659
Unbox Lambda#538 to Object (fallible)
Object
660
GuardToFunction ← Unbox#659
Object
661
GuardFunctionScript ← GuardToFunction#660
Object
662
Goto → block 63
Block 63
663
Constant undefined
Undefined
664
FunctionEnvironment ← GuardFunctionScript#661
Object
665
LoadFixedSlot ← FunctionEnvironment#664 (slot 2)
Value
666
Unbox LoadFixedSlot#665 to Object (fallible)
Object
667
MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657
Value
669
Goto → block 64
Block 64
726
Constant magic optimized-out
MagicOptimizedOut
670
Unbox NewArrayDynamicLength#612 to Object (fallible)
Object
671
Unbox Phi#630 to Int32 (fallible)
Int32
672
GuardShape ← Unbox#670
Object
673
Elements ← GuardShape#672
Elements
674
StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667
675
Goto → block 65
Block 65 (backedge)
724
Constant magic optimized-out
MagicOptimizedOut
677
Unbox Phi#630 to Int32 (fallible)
Int32
678
Constant 0x1
Int32
679
Add ← Unbox#677, Constant#678 [int32]
Int32
680
Goto → block 59
Block 66
683
Unbox NewArrayDynamicLength#612 to Object (fallible)
Object
684
GuardShape ← Unbox#683
Object
685
Constant object 104289c3e088 (Array)
Object
686
Constant function reduce (self-hosted:205) at 104289c479c0
Object
687
Constant function complex5/< (-e:22) at 104289c63e40
Object
688
Lambda ← NewCallObject#514, Constant#687
Object
689
Constant 0x0
Int32
690
Constant 0x2
Int32
691
Constant function reduce (self-hosted:205) at 104289c479c0
Object
692
GuardSpecificFunction ← Constant#686, Constant#691
Object
693
Call ← GuardSpecificFunction#692, NewArrayDynamicLength#612, Lambda#688, Constant#689
Value
695
Goto → block 67
Block 67 (backedge)
696
Unbox Phi#95 to Int32 (fallible)
Int32
697
Constant 0x1
Int32
698
Add ← Unbox#696, Constant#697 [int32]
Int32
699
Goto → block 1
Block 68
700
Unbox Phi#88 to Double (fallible)
Double
701
Unbox Phi#89 to Double (fallible)
Double
702
Add ← Unbox#700, Unbox#701 [double]
Double
703
Unbox Phi#90 to Double (fallible)
Double
704
Add ← Add#702, Unbox#703 [double]
Double
705
Unbox Phi#92 to Double (fallible)
Double
706
Add ← Add#704, Unbox#705 [double]
Double
707
Unbox Phi#94 to Double (fallible)
Double
708
Add ← Add#706, Unbox#707 [double]
Double
709
Return ← Add#708
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant object 104289c3f040 (LexicalEnvironment)
Object
7
Constant object 104289c3e030 (global)
Object
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
9
Constant undefined
Undefined
10
Constant 0x1
Int32
11
Constant function complex1 (-e:2) at 104289c6c8c8
Object
12
GuardSpecificFunction ← Constant#8, Constant#11
Object
13
Call ← GuardSpecificFunction#12, Constant#9, Parameter#1
Value
14
Constant object 104289c3f040 (LexicalEnvironment)
Object
15
Constant object 104289c3e030 (global)
Object
16
Constant function complex2 (-e:7) at 104289c6c970
Object
17
Constant undefined
Undefined
18
Constant 0x1
Int32
19
Constant function complex2 (-e:7) at 104289c6c970
Object
20
GuardSpecificFunction ← Constant#16, Constant#19
Object
21
Call ← GuardSpecificFunction#20, Constant#17, Parameter#1
Value
22
Constant object 104289c3f040 (LexicalEnvironment)
Object
23
Constant object 104289c3e030 (global)
Object
24
Constant function complex3 (-e:11) at 104289c6c938
Object
25
Constant undefined
Undefined
26
Constant 0x2
Int32
27
Constant function complex3 (-e:11) at 104289c6c938
Object
28
GuardSpecificFunction ← Constant#24, Constant#27
Object
29
Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
52
Constant object 104289c3f040 (LexicalEnvironment)
Object
53
Constant object 104289c3e030 (global)
Object
54
Constant function complex4 (-e:17) at 104289c6c890
Object
55
Constant undefined
Undefined
56
Constant 0x1
Int32
57
Constant function complex4 (-e:17) at 104289c6c890
Object
58
GuardSpecificFunction ← Constant#54, Constant#57
Object
59
Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
65
GuardShape ← NewPlainObject#61
Object
66
PostWriteBarrier ← GuardShape#65, Call#21
67
StoreFixedSlot ← GuardShape#65, Call#21 (slot 1)
68
GuardShape ← NewPlainObject#61
Object
69
PostWriteBarrier ← GuardShape#68, Call#29
70
StoreFixedSlot ← GuardShape#68, Call#29 (slot 2)
71
GuardShape ← NewPlainObject#61
Object
72
PostWriteBarrier ← GuardShape#71, Call#59
73
StoreFixedSlot ← GuardShape#71, Call#59 (slot 3)
74
Constant object 104289c3f040 (LexicalEnvironment)
Object
75
Constant object 104289c3e030 (global)
Object
76
Constant function complex5 (-e:21) at 104289c6c900
Object
77
Constant undefined
Undefined
78
Constant 0x1
Int32
79
Constant function complex5 (-e:21) at 104289c6c900
Object
80
GuardSpecificFunction ← Constant#76, Constant#79
Object
81
Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61
Value
82
Constant magic uninitialized-lexical
MagicUninitializedLexical
83
Constant 0x0
Int32
96
Goto → block 1
Block 1 (loop header)
88
Phi ← Call#13, Call#112
Value
89
Phi ← Call#21, BitOr#137
Value
90
Phi ← Call#29, Call#147
Value
92
Phi ← Call#59, Call#489
Value
94
Phi ← Call#81, Call#693
Value
95
Phi ← Constant#83, Add#698
Value
97
InterruptCheck
98
Constant 0xa
Int32
99
Unbox Phi#95 to Int32 (fallible)
Int32
100
Compare ← Unbox#99, Constant#98 Lt
Bool
101
Test ← Compare#100 → block 2, block 68
1
0
Block 2
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant function complex1 (-e:2) at 104289c6c8c8
Object
105
Constant undefined
Undefined
106
Unbox Phi#88 to Double (fallible)
Double
107
Unbox Phi#95 to Double (fallible)
Double
108
Add ← Unbox#106, Unbox#107 [double]
Double
109
Constant 0x1
Int32
110
Constant function complex1 (-e:2) at 104289c6c8c8
Object
111
GuardSpecificFunction ← Constant#104, Constant#110
Object
112
Call ← GuardSpecificFunction#111, Constant#105, Add#108
Value
113
Constant object 104289c3f040 (LexicalEnvironment)
Object
114
Constant object 104289c3e030 (global)
Object
115
Constant function complex2 (-e:7) at 104289c6c970
Object
116
Constant undefined
Undefined
117
Unbox Phi#89 to Int32 (fallible)
Int32
118
Unbox Phi#95 to Int32 (fallible)
Int32
119
Add ← Unbox#117, Unbox#118 [int32]
Int32
120
Constant 0x1
Int32
121
Constant function complex2 (-e:7) at 104289c6c970
Object
122
GuardSpecificFunction ← Constant#115, Constant#121
Object
123
Goto → block 3
Block 3
124
Constant undefined
Undefined
125
Constant 0x1
Int32
126
Lsh ← Add#119, Constant#125
Int32
127
Constant 0x1
Int32
128
Rsh ← Add#119, Constant#127
Int32
129
Constant 0xff
Int32
130
BitAnd ← Add#119, Constant#129
Int32
131
Constant 0x2
Int32
132
Ursh ← Add#119, Constant#131
Int32
133
Add ← BitAnd#130, Ursh#132 [int32]
Int32
134
BitNot ← Add#119
Int32
135
Sub ← Add#133, BitNot#134 [int32]
Int32
136
BitXor ← Rsh#128, Sub#135
Int32
137
BitOr ← Lsh#126, BitXor#136
Int32
139
Goto → block 4
Block 4
140
Constant object 104289c3f040 (LexicalEnvironment)
Object
141
Constant object 104289c3e030 (global)
Object
142
Constant function complex3 (-e:11) at 104289c6c938
Object
143
Constant undefined
Undefined
144
Constant 0x2
Int32
145
Constant function complex3 (-e:11) at 104289c6c938
Object
146
GuardSpecificFunction ← Constant#142, Constant#145
Object
147
Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112
Value
148
Constant object 104289c3f040 (LexicalEnvironment)
Object
149
Constant object 104289c3e030 (global)
Object
150
Constant function complex4 (-e:17) at 104289c6c890
Object
151
Constant undefined
Undefined
152
Constant shape at 104289c64f00
Shape
153
NewArrayObject ← Constant#152
Object
154
Constant 0x0
Int32
155
Elements ← NewArrayObject#153
Elements
156
PostWriteBarrier ← NewArrayObject#153, Call#112
157
StoreElement ← Elements#155, Constant#154, Call#112
158
SetInitializedLength ← Elements#155, Constant#154
159
Constant 0x1
Int32
160
Elements ← NewArrayObject#153
Elements
161
PostWriteBarrier ← NewArrayObject#153, BitOr#137
162
StoreElement ← Elements#160, Constant#159, BitOr#137
163
SetInitializedLength ← Elements#160, Constant#159
164
Constant 0x2
Int32
165
Elements ← NewArrayObject#153
Elements
166
PostWriteBarrier ← NewArrayObject#153, Call#147
167
StoreElement ← Elements#165, Constant#164, Call#147
168
SetInitializedLength ← Elements#165, Constant#164
169
Constant 0x3
Int32
170
Elements ← NewArrayObject#153
Elements
171
PostWriteBarrier ← NewArrayObject#153, Phi#95
172
StoreElement ← Elements#170, Constant#169, Phi#95
173
SetInitializedLength ← Elements#170, Constant#169
174
Constant 0x1
Int32
175
Constant function complex4 (-e:17) at 104289c6c890
Object
176
GuardSpecificFunction ← Constant#150, Constant#175
Object
177
Goto → block 5
Block 5
178
Constant undefined
Undefined
179
FunctionEnvironment ← GuardSpecificFunction#176
Object
180
GuardShape ← NewArrayObject#153
Object
181
Constant object 104289c3e088 (Array)
Object
182
Constant function map (self-hosted:163) at 104289c47920
Object
183
Constant function complex4/< (-e:18) at 104289c63d28
Object
184
Lambda ← FunctionEnvironment#179, Constant#183
Object
185
Constant 0x1
Int32
186
Constant function map (self-hosted:163) at 104289c47920
Object
187
GuardSpecificFunction ← Constant#182, Constant#186
Object
188
Goto → block 6
Block 6
189
Constant undefined
Undefined
190
Constant function ToObject at 104289c6c740
Object
191
DebugCheckSelfHosted ← Constant#190
Value
192
Constant undefined
Undefined
193
Constant 0x1
Int32
194
Constant function ToLength at 104289c6c778
Object
195
DebugCheckSelfHosted ← Constant#194
Value
196
Constant undefined
Undefined
197
GuardShape ← NewArrayObject#153
Object
198
Elements ← GuardShape#197
Elements
199
ArrayLength ← Elements#198
Int32
200
Constant 0x1
Int32
201
Constant 0x0
Int32
202
MinMax ← ArrayLength#199, Constant#201 (max)
Int32
203
Constant 0x1
Int32
204
Constant 0x0
Int32
205
Compare ← Constant#203, Constant#204 StrictEq
Bool
206
Test ← Compare#205 → block 7, block 8
1
0
Block 7
207
CallGetIntrinsicValue
Value
208
DebugCheckSelfHosted ← CallGetIntrinsicValue#207
Value
209
Constant undefined
Undefined
210
Constant 0x37
Int32
211
Constant 0x0
Int32
212
Constant string 104289c2e080
String
213
Bail
718
Unreachable
Block 8
216
Constant function IsCallable at 104289c6c7b0
Object
217
DebugCheckSelfHosted ← Constant#216
Value
218
Constant undefined
Undefined
219
Constant 0x1
Int32
220
IsCallable ← Lambda#184
Bool
221
Test ← IsCallable#220 → block 10, block 9
1
0
Block 9
222
CallGetIntrinsicValue
Value
223
DebugCheckSelfHosted ← CallGetIntrinsicValue#222
Value
224
Constant undefined
Undefined
225
Constant 0xc
Int32
226
CallGetIntrinsicValue
Value
227
DebugCheckSelfHosted ← CallGetIntrinsicValue#226
Value
228
Constant undefined
Undefined
229
Constant 0x0
Int32
230
Bail
717
Unreachable
Block 10
235
Constant 0x1
Int32
236
Constant 0x1
Int32
237
Compare ← Constant#235, Constant#236 Gt
Bool
238
Test ← Compare#237 → block 11, block 12
1
0
Block 11
239
Constant 0x1
Int32
240
GetInlinedArgument ← Constant#239, Lambda#184
Value
241
Goto → block 13
Block 12
242
Constant undefined
Undefined
243
Goto → block 13
Block 13
244
Phi ← Constant#242, GetInlinedArgument#240
Value
245
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
246
DebugCheckSelfHosted ← Constant#245
Value
247
Constant undefined
Undefined
248
Constant 0x1
Int32
249
HasShape ← NewArrayObject#153
Bool
250
Test ← HasShape#249 → block 14, block 15
1
0
Block 14
251
Constant function std_Array at 104289c6c820
Object
252
DebugCheckSelfHosted ← Constant#251
Value
253
Constant undefined
Undefined
254
Constant 0x1
Int32
255
Unbox DebugCheckSelfHosted#252 to Object (fallible)
Object
256
Constant function std_Array at 104289c6c820
Object
257
GuardSpecificFunction ← Unbox#255, Constant#256
Object
258
NewArrayDynamicLength ← MinMax#202
Object
259
Goto → block 16
Block 15
260
CallGetIntrinsicValue
Value
261
DebugCheckSelfHosted ← CallGetIntrinsicValue#260
Value
262
Constant undefined
Undefined
263
Bail
716
Unreachable
Block 16
267
Constant 0x0
Int32
279
Goto → block 17
Block 17 (loop header)
276
Phi ← Constant#267, Add#324
Value
734
Constant magic optimized-out
MagicOptimizedOut
280
InterruptCheck
281
Unbox Phi#276 to Int32 (fallible)
Int32
282
Unbox MinMax#202 to Int32 (fallible)
Int32
283
Compare ← Unbox#281, Unbox#282 Lt
Bool
284
Test ← Compare#283 → block 18, block 24
1
0
Block 18
739
Constant magic optimized-out
MagicOptimizedOut
285
Unbox NewArrayObject#153 to Object (fallible)
Object
286
Unbox Phi#276 to Int32 (fallible)
Int32
287
GuardShape ← Unbox#285
Object
288
Elements ← GuardShape#287
Elements
289
InitializedLength ← Elements#288
Int32
290
BoundsCheck ← Unbox#286, InitializedLength#289
Int32
291
SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289
Int32
292
GuardElementNotHole ← Elements#288, SpectreMaskIndex#291
293
Constant true
Bool
294
Test ← Constant#293 → block 20, block 19
1
0
Block 19 (split edge)
736
Constant magic optimized-out
MagicOptimizedOut
719
Goto → block 23
Block 20
738
Constant magic optimized-out
MagicOptimizedOut
295
Unbox NewArrayObject#153 to Object (fallible)
Object
296
Unbox Phi#276 to Int32 (fallible)
Int32
297
GuardShape ← Unbox#295
Object
298
Elements ← GuardShape#297
Elements
299
InitializedLength ← Elements#298
Int32
300
BoundsCheck ← Unbox#296, InitializedLength#299
Int32
301
SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299
Int32
302
GuardElementsArePacked ← Elements#298
303
LoadElement ← Elements#298, SpectreMaskIndex#301
Value
304
Constant 0x3
Int32
305
Unbox Lambda#184 to Object (fallible)
Object
306
GuardToFunction ← Unbox#305
Object
307
GuardFunctionScript ← GuardToFunction#306
Object
308
Goto → block 21
Block 21
309
Constant undefined
Undefined
310
Constant 0x2
Int32
311
Unbox LoadElement#303 to Double (fallible)
Double
312
Mul ← Unbox#311, Constant#310 [double]
Double
314
Goto → block 22
Block 22
737
Constant magic optimized-out
MagicOptimizedOut
315
Unbox NewArrayDynamicLength#258 to Object (fallible)
Object
316
Unbox Phi#276 to Int32 (fallible)
Int32
317
GuardShape ← Unbox#315
Object
318
Elements ← GuardShape#317
Elements
319
StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312
320
Goto → block 23
Block 23 (backedge)
735
Constant magic optimized-out
MagicOptimizedOut
322
Unbox Phi#276 to Int32 (fallible)
Int32
323
Constant 0x1
Int32
324
Add ← Unbox#322, Constant#323 [int32]
Int32
325
Goto → block 17
Block 24
328
Unbox NewArrayDynamicLength#258 to Object (fallible)
Object
329
GuardShape ← Unbox#328
Object
330
Constant object 104289c3e088 (Array)
Object
331
Constant function filter (self-hosted:183) at 104289c47970
Object
332
Constant function complex4/< (-e:18) at 104289c63d60
Object
333
Lambda ← FunctionEnvironment#179, Constant#332
Object
334
Constant 0x1
Int32
335
Constant function filter (self-hosted:183) at 104289c47970
Object
336
GuardSpecificFunction ← Constant#331, Constant#335
Object
337
Goto → block 25
Block 25
338
Constant undefined
Undefined
339
Constant function ToObject at 104289c6c740
Object
340
DebugCheckSelfHosted ← Constant#339
Value
341
Constant undefined
Undefined
342
Constant 0x1
Int32
343
Unbox NewArrayDynamicLength#258 to Object (fallible)
Object
344
Constant function ToLength at 104289c6c778
Object
345
DebugCheckSelfHosted ← Constant#344
Value
346
Constant undefined
Undefined
347
GuardShape ← Unbox#343
Object
348
Elements ← GuardShape#347
Elements
349
ArrayLength ← Elements#348
Int32
350
Constant 0x1
Int32
351
Constant 0x0
Int32
352
MinMax ← ArrayLength#349, Constant#351 (max)
Int32
353
Constant 0x1
Int32
354
Constant 0x0
Int32
355
Compare ← Constant#353, Constant#354 StrictEq
Bool
356
Test ← Compare#355 → block 26, block 27
1
0
Block 26
357
CallGetIntrinsicValue
Value
358
DebugCheckSelfHosted ← CallGetIntrinsicValue#357
Value
359
Constant undefined
Undefined
360
Constant 0x37
Int32
361
Constant 0x0
Int32
362
Constant string 104289c28540
String
363
Bail
715
Unreachable
Block 27
366
Constant function IsCallable at 104289c6c7b0
Object
367
DebugCheckSelfHosted ← Constant#366
Value
368
Constant undefined
Undefined
369
Constant 0x1
Int32
370
IsCallable ← Lambda#333
Bool
371
Test ← IsCallable#370 → block 29, block 28
1
0
Block 28
372
CallGetIntrinsicValue
Value
373
DebugCheckSelfHosted ← CallGetIntrinsicValue#372
Value
374
Constant undefined
Undefined
375
Constant 0xc
Int32
376
CallGetIntrinsicValue
Value
377
DebugCheckSelfHosted ← CallGetIntrinsicValue#376
Value
378
Constant undefined
Undefined
379
Constant 0x0
Int32
380
Bail
714
Unreachable
Block 29
385
Constant 0x1
Int32
386
Constant 0x1
Int32
387
Compare ← Constant#385, Constant#386 Gt
Bool
388
Test ← Compare#387 → block 30, block 31
1
0
Block 30
389
Constant 0x1
Int32
390
GetInlinedArgument ← Constant#389, Lambda#333
Value
391
Goto → block 32
Block 31
392
Constant undefined
Undefined
393
Goto → block 32
Block 32
394
Phi ← Constant#392, GetInlinedArgument#390
Value
395
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
396
DebugCheckSelfHosted ← Constant#395
Value
397
Constant undefined
Undefined
398
Constant 0x1
Int32
399
HasShape ← Unbox#343
Bool
400
Test ← HasShape#399 → block 33, block 34
1
0
Block 33
401
Constant shape at 104289c64f00
Shape
402
NewArrayObject ← Constant#401
Object
403
Goto → block 35
Block 34
404
CallGetIntrinsicValue
Value
405
DebugCheckSelfHosted ← CallGetIntrinsicValue#404
Value
406
Constant undefined
Undefined
407
Constant 0x0
Int32
408
Bail
713
Unreachable
Block 35
412
Constant 0x0
Int32
413
Constant 0x0
Int32
426
Goto → block 36
Block 36 (loop header)
422
Phi ← Constant#412, Add#475
Value
423
Phi ← Constant#413, Phi#471
Value
729
Constant magic optimized-out
MagicOptimizedOut
427
InterruptCheck
428
Unbox Phi#422 to Int32 (fallible)
Int32
429
Unbox MinMax#352 to Int32 (fallible)
Int32
430
Compare ← Unbox#428, Unbox#429 Lt
Bool
431
Test ← Compare#430 → block 37, block 45
1
0
Block 37
733
Constant magic optimized-out
MagicOptimizedOut
432
Unbox Unbox#343 to Object (fallible)
Object
433
Unbox Phi#422 to Int32 (fallible)
Int32
434
GuardShape ← Unbox#432
Object
435
Elements ← GuardShape#434
Elements
436
InitializedLength ← Elements#435
Int32
437
BoundsCheck ← Unbox#433, InitializedLength#436
Int32
438
SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436
Int32
439
GuardElementNotHole ← Elements#435, SpectreMaskIndex#438
440
Constant true
Bool
441
Test ← Constant#440 → block 39, block 38
1
0
Block 38 (split edge)
731
Constant magic optimized-out
MagicOptimizedOut
720
Goto → block 44
Block 39
732
Constant magic optimized-out
MagicOptimizedOut
442
Unbox Unbox#343 to Object (fallible)
Object
443
Unbox Phi#422 to Int32 (fallible)
Int32
444
GuardShape ← Unbox#442
Object
445
Elements ← GuardShape#444
Elements
446
InitializedLength ← Elements#445
Int32
447
BoundsCheck ← Unbox#443, InitializedLength#446
Int32
448
SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446
Int32
449
GuardElementsArePacked ← Elements#445
450
LoadElement ← Elements#445, SpectreMaskIndex#448
Value
451
Constant 0x3
Int32
452
Unbox Lambda#333 to Object (fallible)
Object
453
GuardToFunction ← Unbox#452
Object
454
GuardFunctionScript ← GuardToFunction#453
Object
455
Goto → block 40
Block 40
456
Constant undefined
Undefined
457
Constant 0x32
Int32
458
Unbox LoadElement#450 to Double (fallible)
Double
459
Compare ← Unbox#458, Constant#457 Gt
Bool
461
Goto → block 41
Block 41
462
Test ← Compare#459 → block 43, block 42
1
0
Block 42 (split edge)
721
Goto → block 44
Block 43
463
Unbox Phi#423 to Int32 (fallible)
Int32
464
Constant 0x1
Int32
465
Add ← Unbox#463, Constant#464 [int32]
Int32
466
Unbox NewArrayObject#402 to Object (fallible)
Object
467
GuardShape ← Unbox#466
Object
468
Elements ← GuardShape#467
Elements
469
StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450
470
Goto → block 44
Block 44 (backedge)
471
Phi ← Add#465, Phi#423, Phi#423
Value
730
Constant magic optimized-out
MagicOptimizedOut
473
Unbox Phi#422 to Int32 (fallible)
Int32
474
Constant 0x1
Int32
475
Add ← Unbox#473, Constant#474 [int32]
Int32
476
Goto → block 36
Block 45
479
Unbox NewArrayObject#402 to Object (fallible)
Object
480
GuardShape ← Unbox#479
Object
481
Constant object 104289c3e088 (Array)
Object
482
Constant function reduce (self-hosted:205) at 104289c479c0
Object
483
Constant function complex4/< (-e:18) at 104289c63d98
Object
484
Lambda ← FunctionEnvironment#179, Constant#483
Object
485
Constant 0x0
Int32
486
Constant 0x2
Int32
487
Constant function reduce (self-hosted:205) at 104289c479c0
Object
488
GuardSpecificFunction ← Constant#482, Constant#487
Object
489
Call ← GuardSpecificFunction#488, NewArrayObject#402, Lambda#484, Constant#485
Value
491
Goto → block 46
Block 46
492
Constant object 104289c3f040 (LexicalEnvironment)
Object
493
Constant object 104289c3e030 (global)
Object
494
Constant function complex5 (-e:21) at 104289c6c900
Object
495
Constant undefined
Undefined
496
Constant shape at 104289c64fc0
Shape
497
NewPlainObject ← Constant#496
Object
498
GuardShape ← NewPlainObject#497
Object
499
PostWriteBarrier ← GuardShape#498, Call#112
500
StoreFixedSlot ← GuardShape#498, Call#112 (slot 0)
501
GuardShape ← NewPlainObject#497
Object
502
PostWriteBarrier ← GuardShape#501, BitOr#137
503
StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1)
504
GuardShape ← NewPlainObject#497
Object
505
PostWriteBarrier ← GuardShape#504, Call#147
506
StoreFixedSlot ← GuardShape#504, Call#147 (slot 2)
507
Constant 0x1
Int32
508
Constant function complex5 (-e:21) at 104289c6c900
Object
509
GuardSpecificFunction ← Constant#494, Constant#508
Object
510
Goto → block 47
Block 47
511
Constant undefined
Undefined
512
FunctionEnvironment ← GuardSpecificFunction#509
Object
513
Constant object 104289c3f078 (Call)
Object
514
NewCallObject ← Constant#513
Object
515
AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512
516
AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509
517
StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0)
518
StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1)
519
PostWriteBarrier ← NewCallObject#514, NewPlainObject#497
520
StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2)
521
Constant object 104289c3f040 (LexicalEnvironment)
Object
522
Constant object 104289c3e030 (global)
Object
523
Constant function Object at 104289c422e0
Object
524
Constant function Object at 104289c422e0
Object
525
GuardObjectIdentity ← Constant#523, Constant#524
Object
526
Constant function keys at 104289c42468
Object
527
LoadFixedSlot ← NewCallObject#514 (slot 2)
Value
528
Constant 0x1
Int32
529
Constant function keys at 104289c42468
Object
530
GuardSpecificFunction ← Constant#526, Constant#529
Object
531
Unbox LoadFixedSlot#527 to Object (fallible)
Object
532
GuardIsNotProxy ← Unbox#531
Object
533
ObjectKeys ← GuardIsNotProxy#532
Object
534
GuardShape ← ObjectKeys#533
Object
535
Constant object 104289c3e088 (Array)
Object
536
Constant function map (self-hosted:163) at 104289c47920
Object
537
Constant function complex5/< (-e:22) at 104289c63e08
Object
538
Lambda ← NewCallObject#514, Constant#537
Object
539
Constant 0x1
Int32
540
Constant function map (self-hosted:163) at 104289c47920
Object
541
GuardSpecificFunction ← Constant#536, Constant#540
Object
542
Goto → block 48
Block 48
543
Constant undefined
Undefined
544
Constant function ToObject at 104289c6c740
Object
545
DebugCheckSelfHosted ← Constant#544
Value
546
Constant undefined
Undefined
547
Constant 0x1
Int32
548
Constant function ToLength at 104289c6c778
Object
549
DebugCheckSelfHosted ← Constant#548
Value
550
Constant undefined
Undefined
551
GuardShape ← ObjectKeys#533
Object
552
Elements ← GuardShape#551
Elements
553
ArrayLength ← Elements#552
Int32
554
Constant 0x1
Int32
555
Constant 0x0
Int32
556
MinMax ← ArrayLength#553, Constant#555 (max)
Int32
557
Constant 0x1
Int32
558
Constant 0x0
Int32
559
Compare ← Constant#557, Constant#558 StrictEq
Bool
560
Test ← Compare#559 → block 49, block 50
1
0
Block 49
561
CallGetIntrinsicValue
Value
562
DebugCheckSelfHosted ← CallGetIntrinsicValue#561
Value
563
Constant undefined
Undefined
564
Constant 0x37
Int32
565
Constant 0x0
Int32
566
Constant string 104289c2e080
String
567
Bail
712
Unreachable
Block 50
570
Constant function IsCallable at 104289c6c7b0
Object
571
DebugCheckSelfHosted ← Constant#570
Value
572
Constant undefined
Undefined
573
Constant 0x1
Int32
574
IsCallable ← Lambda#538
Bool
575
Test ← IsCallable#574 → block 52, block 51
1
0
Block 51
576
CallGetIntrinsicValue
Value
577
DebugCheckSelfHosted ← CallGetIntrinsicValue#576
Value
578
Constant undefined
Undefined
579
Constant 0xc
Int32
580
CallGetIntrinsicValue
Value
581
DebugCheckSelfHosted ← CallGetIntrinsicValue#580
Value
582
Constant undefined
Undefined
583
Constant 0x0
Int32
584
Bail
711
Unreachable
Block 52
589
Constant 0x1
Int32
590
Constant 0x1
Int32
591
Compare ← Constant#589, Constant#590 Gt
Bool
592
Test ← Compare#591 → block 53, block 54
1
0
Block 53
593
Constant 0x1
Int32
594
GetInlinedArgument ← Constant#593, Lambda#538
Value
595
Goto → block 55
Block 54
596
Constant undefined
Undefined
597
Goto → block 55
Block 55
598
Phi ← Constant#596, GetInlinedArgument#594
Value
599
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
600
DebugCheckSelfHosted ← Constant#599
Value
601
Constant undefined
Undefined
602
Constant 0x1
Int32
603
HasShape ← ObjectKeys#533
Bool
604
Test ← HasShape#603 → block 56, block 57
1
0
Block 56
605
Constant function std_Array at 104289c6c820
Object
606
DebugCheckSelfHosted ← Constant#605
Value
607
Constant undefined
Undefined
608
Constant 0x1
Int32
609
Unbox DebugCheckSelfHosted#606 to Object (fallible)
Object
610
Constant function std_Array at 104289c6c820
Object
611
GuardSpecificFunction ← Unbox#609, Constant#610
Object
612
NewArrayDynamicLength ← MinMax#556
Object
613
Goto → block 58
Block 57
614
CallGetIntrinsicValue
Value
615
DebugCheckSelfHosted ← CallGetIntrinsicValue#614
Value
616
Constant undefined
Undefined
617
Bail
710
Unreachable
Block 58
621
Constant 0x0
Int32
633
Goto → block 59
Block 59 (loop header)
630
Phi ← Constant#621, Add#679
Value
723
Constant magic optimized-out
MagicOptimizedOut
634
InterruptCheck
635
Unbox Phi#630 to Int32 (fallible)
Int32
636
Unbox MinMax#556 to Int32 (fallible)
Int32
637
Compare ← Unbox#635, Unbox#636 Lt
Bool
638
Test ← Compare#637 → block 60, block 66
1
0
Block 60
728
Constant magic optimized-out
MagicOptimizedOut
639
Unbox ObjectKeys#533 to Object (fallible)
Object
640
Unbox Phi#630 to Int32 (fallible)
Int32
641
GuardShape ← Unbox#639
Object
642
Elements ← GuardShape#641
Elements
643
InitializedLength ← Elements#642
Int32
644
BoundsCheck ← Unbox#640, InitializedLength#643
Int32
645
SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643
Int32
646
GuardElementNotHole ← Elements#642, SpectreMaskIndex#645
647
Constant true
Bool
648
Test ← Constant#647 → block 62, block 61
1
0
Block 61 (split edge)
725
Constant magic optimized-out
MagicOptimizedOut
722
Goto → block 65
Block 62
727
Constant magic optimized-out
MagicOptimizedOut
649
Unbox ObjectKeys#533 to Object (fallible)
Object
650
Unbox Phi#630 to Int32 (fallible)
Int32
651
GuardShape ← Unbox#649
Object
652
Elements ← GuardShape#651
Elements
653
InitializedLength ← Elements#652
Int32
654
BoundsCheck ← Unbox#650, InitializedLength#653
Int32
655
SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653
Int32
656
GuardElementsArePacked ← Elements#652
657
LoadElement ← Elements#652, SpectreMaskIndex#655
Value
658
Constant 0x3
Int32
659
Unbox Lambda#538 to Object (fallible)
Object
660
GuardToFunction ← Unbox#659
Object
661
GuardFunctionScript ← GuardToFunction#660
Object
662
Goto → block 63
Block 63
663
Constant undefined
Undefined
664
FunctionEnvironment ← GuardFunctionScript#661
Object
665
LoadFixedSlot ← FunctionEnvironment#664 (slot 2)
Value
666
Unbox LoadFixedSlot#665 to Object (fallible)
Object
667
MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657
Value
669
Goto → block 64
Block 64
726
Constant magic optimized-out
MagicOptimizedOut
670
Unbox NewArrayDynamicLength#612 to Object (fallible)
Object
671
Unbox Phi#630 to Int32 (fallible)
Int32
672
GuardShape ← Unbox#670
Object
673
Elements ← GuardShape#672
Elements
674
StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667
675
Goto → block 65
Block 65 (backedge)
724
Constant magic optimized-out
MagicOptimizedOut
677
Unbox Phi#630 to Int32 (fallible)
Int32
678
Constant 0x1
Int32
679
Add ← Unbox#677, Constant#678 [int32]
Int32
680
Goto → block 59
Block 66
683
Unbox NewArrayDynamicLength#612 to Object (fallible)
Object
684
GuardShape ← Unbox#683
Object
685
Constant object 104289c3e088 (Array)
Object
686
Constant function reduce (self-hosted:205) at 104289c479c0
Object
687
Constant function complex5/< (-e:22) at 104289c63e40
Object
688
Lambda ← NewCallObject#514, Constant#687
Object
689
Constant 0x0
Int32
690
Constant 0x2
Int32
691
Constant function reduce (self-hosted:205) at 104289c479c0
Object
692
GuardSpecificFunction ← Constant#686, Constant#691
Object
693
Call ← GuardSpecificFunction#692, NewArrayDynamicLength#612, Lambda#688, Constant#689
Value
695
Goto → block 67
Block 67 (backedge)
696
Unbox Phi#95 to Int32 (fallible)
Int32
697
Constant 0x1
Int32
698
Add ← Unbox#696, Constant#697 [int32]
Int32
699
Goto → block 1
Block 68
700
Unbox Phi#88 to Double (fallible)
Double
701
Unbox Phi#89 to Double (fallible)
Double
702
Add ← Unbox#700, Unbox#701 [double]
Double
703
Unbox Phi#90 to Double (fallible)
Double
704
Add ← Add#702, Unbox#703 [double]
Double
705
Unbox Phi#92 to Double (fallible)
Double
706
Add ← Add#704, Unbox#705 [double]
Double
707
Unbox Phi#94 to Double (fallible)
Double
708
Add ← Add#706, Unbox#707 [double]
Double
709
Return ← Add#708
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant object 104289c3f040 (LexicalEnvironment)
Object
7
Constant object 104289c3e030 (global)
Object
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
9
Constant undefined
Undefined
10
Constant 0x1
Int32
11
Constant function complex1 (-e:2) at 104289c6c8c8
Object
12
GuardSpecificFunction ← Constant#8, Constant#11
Object
13
Call ← GuardSpecificFunction#12, Constant#9, Parameter#1
Value
14
Constant object 104289c3f040 (LexicalEnvironment)
Object
15
Constant object 104289c3e030 (global)
Object
16
Constant function complex2 (-e:7) at 104289c6c970
Object
17
Constant undefined
Undefined
18
Constant 0x1
Int32
19
Constant function complex2 (-e:7) at 104289c6c970
Object
20
GuardSpecificFunction ← Constant#16, Constant#19
Object
21
Call ← GuardSpecificFunction#20, Constant#17, Parameter#1
Value
22
Constant object 104289c3f040 (LexicalEnvironment)
Object
23
Constant object 104289c3e030 (global)
Object
24
Constant function complex3 (-e:11) at 104289c6c938
Object
25
Constant undefined
Undefined
26
Constant 0x2
Int32
27
Constant function complex3 (-e:11) at 104289c6c938
Object
28
GuardSpecificFunction ← Constant#24, Constant#27
Object
29
Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
52
Constant object 104289c3f040 (LexicalEnvironment)
Object
53
Constant object 104289c3e030 (global)
Object
54
Constant function complex4 (-e:17) at 104289c6c890
Object
55
Constant undefined
Undefined
56
Constant 0x1
Int32
57
Constant function complex4 (-e:17) at 104289c6c890
Object
58
GuardSpecificFunction ← Constant#54, Constant#57
Object
59
Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
65
GuardShape ← NewPlainObject#61
Object
66
PostWriteBarrier ← GuardShape#65, Call#21
67
StoreFixedSlot ← GuardShape#65, Call#21 (slot 1)
68
GuardShape ← NewPlainObject#61
Object
69
PostWriteBarrier ← GuardShape#68, Call#29
70
StoreFixedSlot ← GuardShape#68, Call#29 (slot 2)
71
GuardShape ← NewPlainObject#61
Object
72
PostWriteBarrier ← GuardShape#71, Call#59
73
StoreFixedSlot ← GuardShape#71, Call#59 (slot 3)
74
Constant object 104289c3f040 (LexicalEnvironment)
Object
75
Constant object 104289c3e030 (global)
Object
76
Constant function complex5 (-e:21) at 104289c6c900
Object
77
Constant undefined
Undefined
78
Constant 0x1
Int32
79
Constant function complex5 (-e:21) at 104289c6c900
Object
80
GuardSpecificFunction ← Constant#76, Constant#79
Object
81
Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61
Value
82
Constant magic uninitialized-lexical
MagicUninitializedLexical
83
Constant 0x0
Int32
96
Goto → block 1
Block 1 (loop header)
88
Phi ← Call#13, Call#112
Value
89
Phi ← Call#21, BitOr#137
Value
90
Phi ← Call#29, Call#147
Value
92
Phi ← Call#59, Call#489
Value
94
Phi ← Call#81, Call#693
Value
95
Phi ← Constant#83, Add#698
Value
97
InterruptCheck
98
Constant 0xa
Int32
99
Unbox Phi#95 to Int32 (fallible)
Int32
100
Compare ← Unbox#99, Constant#98 Lt
Bool
101
Test ← Compare#100 → block 2, block 68
1
0
Block 2
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant function complex1 (-e:2) at 104289c6c8c8
Object
105
Constant undefined
Undefined
106
Unbox Phi#88 to Double (fallible)
Double
107
Unbox Phi#95 to Double (fallible)
Double
108
Add ← Unbox#106, Unbox#107 [double]
Double
109
Constant 0x1
Int32
110
Constant function complex1 (-e:2) at 104289c6c8c8
Object
111
GuardSpecificFunction ← Constant#104, Constant#110
Object
112
Call ← GuardSpecificFunction#111, Constant#105, Add#108
Value
113
Constant object 104289c3f040 (LexicalEnvironment)
Object
114
Constant object 104289c3e030 (global)
Object
115
Constant function complex2 (-e:7) at 104289c6c970
Object
116
Constant undefined
Undefined
117
Unbox Phi#89 to Int32 (fallible)
Int32
118
Unbox Phi#95 to Int32 (fallible)
Int32
119
Add ← Unbox#117, Unbox#118 [int32]
Int32
120
Constant 0x1
Int32
121
Constant function complex2 (-e:7) at 104289c6c970
Object
122
GuardSpecificFunction ← Constant#115, Constant#121
Object
123
Goto → block 3
Block 3
124
Constant undefined
Undefined
125
Constant 0x1
Int32
126
Lsh ← Add#119, Constant#125
Int32
127
Constant 0x1
Int32
128
Rsh ← Add#119, Constant#127
Int32
129
Constant 0xff
Int32
130
BitAnd ← Add#119, Constant#129
Int32
131
Constant 0x2
Int32
132
Ursh ← Add#119, Constant#131
Int32
133
Add ← BitAnd#130, Ursh#132 [int32]
Int32
134
BitNot ← Add#119
Int32
135
Sub ← Add#133, BitNot#134 [int32]
Int32
136
BitXor ← Rsh#128, Sub#135
Int32
137
BitOr ← Lsh#126, BitXor#136
Int32
139
Goto → block 4
Block 4
140
Constant object 104289c3f040 (LexicalEnvironment)
Object
141
Constant object 104289c3e030 (global)
Object
142
Constant function complex3 (-e:11) at 104289c6c938
Object
143
Constant undefined
Undefined
144
Constant 0x2
Int32
145
Constant function complex3 (-e:11) at 104289c6c938
Object
146
GuardSpecificFunction ← Constant#142, Constant#145
Object
147
Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112
Value
148
Constant object 104289c3f040 (LexicalEnvironment)
Object
149
Constant object 104289c3e030 (global)
Object
150
Constant function complex4 (-e:17) at 104289c6c890
Object
151
Constant undefined
Undefined
152
Constant shape at 104289c64f00
Shape
153
NewArrayObject ← Constant#152
Object
154
Constant 0x0
Int32
155
Elements ← NewArrayObject#153
Elements
156
PostWriteBarrier ← NewArrayObject#153, Call#112
157
StoreElement ← Elements#155, Constant#154, Call#112
158
SetInitializedLength ← Elements#155, Constant#154
159
Constant 0x1
Int32
160
Elements ← NewArrayObject#153
Elements
161
PostWriteBarrier ← NewArrayObject#153, BitOr#137
162
StoreElement ← Elements#160, Constant#159, BitOr#137
163
SetInitializedLength ← Elements#160, Constant#159
164
Constant 0x2
Int32
165
Elements ← NewArrayObject#153
Elements
166
PostWriteBarrier ← NewArrayObject#153, Call#147
167
StoreElement ← Elements#165, Constant#164, Call#147
168
SetInitializedLength ← Elements#165, Constant#164
169
Constant 0x3
Int32
170
Elements ← NewArrayObject#153
Elements
171
PostWriteBarrier ← NewArrayObject#153, Phi#95
172
StoreElement ← Elements#170, Constant#169, Phi#95
173
SetInitializedLength ← Elements#170, Constant#169
174
Constant 0x1
Int32
175
Constant function complex4 (-e:17) at 104289c6c890
Object
176
GuardSpecificFunction ← Constant#150, Constant#175
Object
177
Goto → block 5
Block 5
178
Constant undefined
Undefined
179
FunctionEnvironment ← GuardSpecificFunction#176
Object
180
GuardShape ← NewArrayObject#153
Object
181
Constant object 104289c3e088 (Array)
Object
182
Constant function map (self-hosted:163) at 104289c47920
Object
183
Constant function complex4/< (-e:18) at 104289c63d28
Object
184
Lambda ← FunctionEnvironment#179, Constant#183
Object
185
Constant 0x1
Int32
186
Constant function map (self-hosted:163) at 104289c47920
Object
187
GuardSpecificFunction ← Constant#182, Constant#186
Object
188
Goto → block 6
Block 6
189
Constant undefined
Undefined
190
Constant function ToObject at 104289c6c740
Object
191
DebugCheckSelfHosted ← Constant#190
Value
192
Constant undefined
Undefined
193
Constant 0x1
Int32
194
Constant function ToLength at 104289c6c778
Object
195
DebugCheckSelfHosted ← Constant#194
Value
196
Constant undefined
Undefined
197
GuardShape ← NewArrayObject#153
Object
198
Elements ← GuardShape#197
Elements
199
ArrayLength ← Elements#198
Int32
200
Constant 0x1
Int32
201
Constant 0x0
Int32
202
MinMax ← ArrayLength#199, Constant#201 (max)
Int32
203
Constant 0x1
Int32
204
Constant 0x0
Int32
205
Compare ← Constant#203, Constant#204 StrictEq
Bool
206
Test ← Compare#205 → block 7, block 8
1
0
Block 7
207
CallGetIntrinsicValue
Value
208
DebugCheckSelfHosted ← CallGetIntrinsicValue#207
Value
209
Constant undefined
Undefined
210
Constant 0x37
Int32
211
Constant 0x0
Int32
212
Constant string 104289c2e080
String
213
Bail
718
Unreachable
Block 8
216
Constant function IsCallable at 104289c6c7b0
Object
217
DebugCheckSelfHosted ← Constant#216
Value
218
Constant undefined
Undefined
219
Constant 0x1
Int32
220
IsCallable ← Lambda#184
Bool
221
Test ← IsCallable#220 → block 10, block 9
1
0
Block 9
222
CallGetIntrinsicValue
Value
223
DebugCheckSelfHosted ← CallGetIntrinsicValue#222
Value
224
Constant undefined
Undefined
225
Constant 0xc
Int32
226
CallGetIntrinsicValue
Value
227
DebugCheckSelfHosted ← CallGetIntrinsicValue#226
Value
228
Constant undefined
Undefined
229
Constant 0x0
Int32
230
Bail
717
Unreachable
Block 10
235
Constant 0x1
Int32
236
Constant 0x1
Int32
237
Compare ← Constant#235, Constant#236 Gt
Bool
238
Test ← Compare#237 → block 11, block 12
1
0
Block 11
239
Constant 0x1
Int32
240
GetInlinedArgument ← Constant#239, Lambda#184
Value
241
Goto → block 13
Block 12
242
Constant undefined
Undefined
243
Goto → block 13
Block 13
244
Phi ← Constant#242, GetInlinedArgument#240
Value
245
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
246
DebugCheckSelfHosted ← Constant#245
Value
247
Constant undefined
Undefined
248
Constant 0x1
Int32
249
HasShape ← NewArrayObject#153
Bool
250
Test ← HasShape#249 → block 14, block 15
1
0
Block 14
251
Constant function std_Array at 104289c6c820
Object
252
DebugCheckSelfHosted ← Constant#251
Value
253
Constant undefined
Undefined
254
Constant 0x1
Int32
255
Unbox DebugCheckSelfHosted#252 to Object (fallible)
Object
256
Constant function std_Array at 104289c6c820
Object
257
GuardSpecificFunction ← Unbox#255, Constant#256
Object
258
NewArrayDynamicLength ← MinMax#202
Object
259
Goto → block 16
Block 15
260
CallGetIntrinsicValue
Value
261
DebugCheckSelfHosted ← CallGetIntrinsicValue#260
Value
262
Constant undefined
Undefined
263
Bail
716
Unreachable
Block 16
267
Constant 0x0
Int32
279
Goto → block 17
Block 17 (loop header)
276
Phi ← Constant#267, Add#324
Value
734
Constant magic optimized-out
MagicOptimizedOut
280
InterruptCheck
281
Unbox Phi#276 to Int32 (fallible)
Int32
282
Unbox MinMax#202 to Int32 (fallible)
Int32
283
Compare ← Unbox#281, Unbox#282 Lt
Bool
284
Test ← Compare#283 → block 18, block 24
1
0
Block 18
739
Constant magic optimized-out
MagicOptimizedOut
285
Unbox NewArrayObject#153 to Object (fallible)
Object
286
Unbox Phi#276 to Int32 (fallible)
Int32
287
GuardShape ← Unbox#285
Object
288
Elements ← GuardShape#287
Elements
289
InitializedLength ← Elements#288
Int32
290
BoundsCheck ← Unbox#286, InitializedLength#289
Int32
291
SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289
Int32
292
GuardElementNotHole ← Elements#288, SpectreMaskIndex#291
293
Constant true
Bool
294
Test ← Constant#293 → block 20, block 19
1
0
Block 19 (split edge)
736
Constant magic optimized-out
MagicOptimizedOut
719
Goto → block 23
Block 20
738
Constant magic optimized-out
MagicOptimizedOut
295
Unbox NewArrayObject#153 to Object (fallible)
Object
296
Unbox Phi#276 to Int32 (fallible)
Int32
297
GuardShape ← Unbox#295
Object
298
Elements ← GuardShape#297
Elements
299
InitializedLength ← Elements#298
Int32
300
BoundsCheck ← Unbox#296, InitializedLength#299
Int32
301
SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299
Int32
302
GuardElementsArePacked ← Elements#298
303
LoadElement ← Elements#298, SpectreMaskIndex#301
Value
304
Constant 0x3
Int32
305
Unbox Lambda#184 to Object (fallible)
Object
306
GuardToFunction ← Unbox#305
Object
307
GuardFunctionScript ← GuardToFunction#306
Object
308
Goto → block 21
Block 21
309
Constant undefined
Undefined
310
Constant 0x2
Int32
311
Unbox LoadElement#303 to Double (fallible)
Double
312
Mul ← Unbox#311, Constant#310 [double]
Double
314
Goto → block 22
Block 22
737
Constant magic optimized-out
MagicOptimizedOut
315
Unbox NewArrayDynamicLength#258 to Object (fallible)
Object
316
Unbox Phi#276 to Int32 (fallible)
Int32
317
GuardShape ← Unbox#315
Object
318
Elements ← GuardShape#317
Elements
319
StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312
320
Goto → block 23
Block 23 (backedge)
735
Constant magic optimized-out
MagicOptimizedOut
322
Unbox Phi#276 to Int32 (fallible)
Int32
323
Constant 0x1
Int32
324
Add ← Unbox#322, Constant#323 [int32]
Int32
325
Goto → block 17
Block 24
328
Unbox NewArrayDynamicLength#258 to Object (fallible)
Object
329
GuardShape ← Unbox#328
Object
330
Constant object 104289c3e088 (Array)
Object
331
Constant function filter (self-hosted:183) at 104289c47970
Object
332
Constant function complex4/< (-e:18) at 104289c63d60
Object
333
Lambda ← FunctionEnvironment#179, Constant#332
Object
334
Constant 0x1
Int32
335
Constant function filter (self-hosted:183) at 104289c47970
Object
336
GuardSpecificFunction ← Constant#331, Constant#335
Object
337
Goto → block 25
Block 25
338
Constant undefined
Undefined
339
Constant function ToObject at 104289c6c740
Object
340
DebugCheckSelfHosted ← Constant#339
Value
341
Constant undefined
Undefined
342
Constant 0x1
Int32
343
Unbox NewArrayDynamicLength#258 to Object (fallible)
Object
344
Constant function ToLength at 104289c6c778
Object
345
DebugCheckSelfHosted ← Constant#344
Value
346
Constant undefined
Undefined
347
GuardShape ← Unbox#343
Object
348
Elements ← GuardShape#347
Elements
349
ArrayLength ← Elements#348
Int32
350
Constant 0x1
Int32
351
Constant 0x0
Int32
352
MinMax ← ArrayLength#349, Constant#351 (max)
Int32
353
Constant 0x1
Int32
354
Constant 0x0
Int32
355
Compare ← Constant#353, Constant#354 StrictEq
Bool
356
Test ← Compare#355 → block 26, block 27
1
0
Block 26
357
CallGetIntrinsicValue
Value
358
DebugCheckSelfHosted ← CallGetIntrinsicValue#357
Value
359
Constant undefined
Undefined
360
Constant 0x37
Int32
361
Constant 0x0
Int32
362
Constant string 104289c28540
String
363
Bail
715
Unreachable
Block 27
366
Constant function IsCallable at 104289c6c7b0
Object
367
DebugCheckSelfHosted ← Constant#366
Value
368
Constant undefined
Undefined
369
Constant 0x1
Int32
370
IsCallable ← Lambda#333
Bool
371
Test ← IsCallable#370 → block 29, block 28
1
0
Block 28
372
CallGetIntrinsicValue
Value
373
DebugCheckSelfHosted ← CallGetIntrinsicValue#372
Value
374
Constant undefined
Undefined
375
Constant 0xc
Int32
376
CallGetIntrinsicValue
Value
377
DebugCheckSelfHosted ← CallGetIntrinsicValue#376
Value
378
Constant undefined
Undefined
379
Constant 0x0
Int32
380
Bail
714
Unreachable
Block 29
385
Constant 0x1
Int32
386
Constant 0x1
Int32
387
Compare ← Constant#385, Constant#386 Gt
Bool
388
Test ← Compare#387 → block 30, block 31
1
0
Block 30
389
Constant 0x1
Int32
390
GetInlinedArgument ← Constant#389, Lambda#333
Value
391
Goto → block 32
Block 31
392
Constant undefined
Undefined
393
Goto → block 32
Block 32
394
Phi ← Constant#392, GetInlinedArgument#390
Value
395
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
396
DebugCheckSelfHosted ← Constant#395
Value
397
Constant undefined
Undefined
398
Constant 0x1
Int32
399
HasShape ← Unbox#343
Bool
400
Test ← HasShape#399 → block 33, block 34
1
0
Block 33
401
Constant shape at 104289c64f00
Shape
402
NewArrayObject ← Constant#401
Object
403
Goto → block 35
Block 34
404
CallGetIntrinsicValue
Value
405
DebugCheckSelfHosted ← CallGetIntrinsicValue#404
Value
406
Constant undefined
Undefined
407
Constant 0x0
Int32
408
Bail
713
Unreachable
Block 35
412
Constant 0x0
Int32
413
Constant 0x0
Int32
426
Goto → block 36
Block 36 (loop header)
422
Phi ← Constant#412, Add#475
Value
423
Phi ← Constant#413, Phi#471
Value
729
Constant magic optimized-out
MagicOptimizedOut
427
InterruptCheck
428
Unbox Phi#422 to Int32 (fallible)
Int32
429
Unbox MinMax#352 to Int32 (fallible)
Int32
430
Compare ← Unbox#428, Unbox#429 Lt
Bool
431
Test ← Compare#430 → block 37, block 45
1
0
Block 37
733
Constant magic optimized-out
MagicOptimizedOut
432
Unbox Unbox#343 to Object (fallible)
Object
433
Unbox Phi#422 to Int32 (fallible)
Int32
434
GuardShape ← Unbox#432
Object
435
Elements ← GuardShape#434
Elements
436
InitializedLength ← Elements#435
Int32
437
BoundsCheck ← Unbox#433, InitializedLength#436
Int32
438
SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436
Int32
439
GuardElementNotHole ← Elements#435, SpectreMaskIndex#438
440
Constant true
Bool
441
Test ← Constant#440 → block 39, block 38
1
0
Block 38 (split edge)
731
Constant magic optimized-out
MagicOptimizedOut
720
Goto → block 44
Block 39
732
Constant magic optimized-out
MagicOptimizedOut
442
Unbox Unbox#343 to Object (fallible)
Object
443
Unbox Phi#422 to Int32 (fallible)
Int32
444
GuardShape ← Unbox#442
Object
445
Elements ← GuardShape#444
Elements
446
InitializedLength ← Elements#445
Int32
447
BoundsCheck ← Unbox#443, InitializedLength#446
Int32
448
SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446
Int32
449
GuardElementsArePacked ← Elements#445
450
LoadElement ← Elements#445, SpectreMaskIndex#448
Value
451
Constant 0x3
Int32
452
Unbox Lambda#333 to Object (fallible)
Object
453
GuardToFunction ← Unbox#452
Object
454
GuardFunctionScript ← GuardToFunction#453
Object
455
Goto → block 40
Block 40
456
Constant undefined
Undefined
457
Constant 0x32
Int32
458
Unbox LoadElement#450 to Double (fallible)
Double
459
Compare ← Unbox#458, Constant#457 Gt
Bool
461
Goto → block 41
Block 41
462
Test ← Compare#459 → block 43, block 42
1
0
Block 42 (split edge)
721
Goto → block 44
Block 43
463
Unbox Phi#423 to Int32 (fallible)
Int32
464
Constant 0x1
Int32
465
Add ← Unbox#463, Constant#464 [int32]
Int32
466
Unbox NewArrayObject#402 to Object (fallible)
Object
467
GuardShape ← Unbox#466
Object
468
Elements ← GuardShape#467
Elements
469
StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450
470
Goto → block 44
Block 44 (backedge)
471
Phi ← Add#465, Phi#423, Phi#423
Value
730
Constant magic optimized-out
MagicOptimizedOut
473
Unbox Phi#422 to Int32 (fallible)
Int32
474
Constant 0x1
Int32
475
Add ← Unbox#473, Constant#474 [int32]
Int32
476
Goto → block 36
Block 45
479
Unbox NewArrayObject#402 to Object (fallible)
Object
480
GuardShape ← Unbox#479
Object
481
Constant object 104289c3e088 (Array)
Object
482
Constant function reduce (self-hosted:205) at 104289c479c0
Object
483
Constant function complex4/< (-e:18) at 104289c63d98
Object
484
Lambda ← FunctionEnvironment#179, Constant#483
Object
485
Constant 0x0
Int32
486
Constant 0x2
Int32
487
Constant function reduce (self-hosted:205) at 104289c479c0
Object
488
GuardSpecificFunction ← Constant#482, Constant#487
Object
489
Call ← GuardSpecificFunction#488, NewArrayObject#402, Lambda#484, Constant#485
Value
491
Goto → block 46
Block 46
492
Constant object 104289c3f040 (LexicalEnvironment)
Object
493
Constant object 104289c3e030 (global)
Object
494
Constant function complex5 (-e:21) at 104289c6c900
Object
495
Constant undefined
Undefined
496
Constant shape at 104289c64fc0
Shape
497
NewPlainObject ← Constant#496
Object
498
GuardShape ← NewPlainObject#497
Object
499
PostWriteBarrier ← GuardShape#498, Call#112
500
StoreFixedSlot ← GuardShape#498, Call#112 (slot 0)
501
GuardShape ← NewPlainObject#497
Object
502
PostWriteBarrier ← GuardShape#501, BitOr#137
503
StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1)
504
GuardShape ← NewPlainObject#497
Object
505
PostWriteBarrier ← GuardShape#504, Call#147
506
StoreFixedSlot ← GuardShape#504, Call#147 (slot 2)
507
Constant 0x1
Int32
508
Constant function complex5 (-e:21) at 104289c6c900
Object
509
GuardSpecificFunction ← Constant#494, Constant#508
Object
510
Goto → block 47
Block 47
511
Constant undefined
Undefined
512
FunctionEnvironment ← GuardSpecificFunction#509
Object
513
Constant object 104289c3f078 (Call)
Object
514
NewCallObject ← Constant#513
Object
515
AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512
516
AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509
517
StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0)
518
StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1)
519
PostWriteBarrier ← NewCallObject#514, NewPlainObject#497
520
StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2)
521
Constant object 104289c3f040 (LexicalEnvironment)
Object
522
Constant object 104289c3e030 (global)
Object
523
Constant function Object at 104289c422e0
Object
524
Constant function Object at 104289c422e0
Object
525
GuardObjectIdentity ← Constant#523, Constant#524
Object
526
Constant function keys at 104289c42468
Object
527
LoadFixedSlot ← NewCallObject#514 (slot 2)
Value
528
Constant 0x1
Int32
529
Constant function keys at 104289c42468
Object
530
GuardSpecificFunction ← Constant#526, Constant#529
Object
531
Unbox LoadFixedSlot#527 to Object (fallible)
Object
532
GuardIsNotProxy ← Unbox#531
Object
533
ObjectKeys ← GuardIsNotProxy#532
Object
534
GuardShape ← ObjectKeys#533
Object
535
Constant object 104289c3e088 (Array)
Object
536
Constant function map (self-hosted:163) at 104289c47920
Object
537
Constant function complex5/< (-e:22) at 104289c63e08
Object
538
Lambda ← NewCallObject#514, Constant#537
Object
539
Constant 0x1
Int32
540
Constant function map (self-hosted:163) at 104289c47920
Object
541
GuardSpecificFunction ← Constant#536, Constant#540
Object
542
Goto → block 48
Block 48
543
Constant undefined
Undefined
544
Constant function ToObject at 104289c6c740
Object
545
DebugCheckSelfHosted ← Constant#544
Value
546
Constant undefined
Undefined
547
Constant 0x1
Int32
548
Constant function ToLength at 104289c6c778
Object
549
DebugCheckSelfHosted ← Constant#548
Value
550
Constant undefined
Undefined
551
GuardShape ← ObjectKeys#533
Object
552
Elements ← GuardShape#551
Elements
553
ArrayLength ← Elements#552
Int32
554
Constant 0x1
Int32
555
Constant 0x0
Int32
556
MinMax ← ArrayLength#553, Constant#555 (max)
Int32
557
Constant 0x1
Int32
558
Constant 0x0
Int32
559
Compare ← Constant#557, Constant#558 StrictEq
Bool
560
Test ← Compare#559 → block 49, block 50
1
0
Block 49
561
CallGetIntrinsicValue
Value
562
DebugCheckSelfHosted ← CallGetIntrinsicValue#561
Value
563
Constant undefined
Undefined
564
Constant 0x37
Int32
565
Constant 0x0
Int32
566
Constant string 104289c2e080
String
567
Bail
712
Unreachable
Block 50
570
Constant function IsCallable at 104289c6c7b0
Object
571
DebugCheckSelfHosted ← Constant#570
Value
572
Constant undefined
Undefined
573
Constant 0x1
Int32
574
IsCallable ← Lambda#538
Bool
575
Test ← IsCallable#574 → block 52, block 51
1
0
Block 51
576
CallGetIntrinsicValue
Value
577
DebugCheckSelfHosted ← CallGetIntrinsicValue#576
Value
578
Constant undefined
Undefined
579
Constant 0xc
Int32
580
CallGetIntrinsicValue
Value
581
DebugCheckSelfHosted ← CallGetIntrinsicValue#580
Value
582
Constant undefined
Undefined
583
Constant 0x0
Int32
584
Bail
711
Unreachable
Block 52
589
Constant 0x1
Int32
590
Constant 0x1
Int32
591
Compare ← Constant#589, Constant#590 Gt
Bool
592
Test ← Compare#591 → block 53, block 54
1
0
Block 53
593
Constant 0x1
Int32
594
GetInlinedArgument ← Constant#593, Lambda#538
Value
595
Goto → block 55
Block 54
596
Constant undefined
Undefined
597
Goto → block 55
Block 55
598
Phi ← Constant#596, GetInlinedArgument#594
Value
599
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
600
DebugCheckSelfHosted ← Constant#599
Value
601
Constant undefined
Undefined
602
Constant 0x1
Int32
603
HasShape ← ObjectKeys#533
Bool
604
Test ← HasShape#603 → block 56, block 57
1
0
Block 56
605
Constant function std_Array at 104289c6c820
Object
606
DebugCheckSelfHosted ← Constant#605
Value
607
Constant undefined
Undefined
608
Constant 0x1
Int32
609
Unbox DebugCheckSelfHosted#606 to Object (fallible)
Object
610
Constant function std_Array at 104289c6c820
Object
611
GuardSpecificFunction ← Unbox#609, Constant#610
Object
612
NewArrayDynamicLength ← MinMax#556
Object
613
Goto → block 58
Block 57
614
CallGetIntrinsicValue
Value
615
DebugCheckSelfHosted ← CallGetIntrinsicValue#614
Value
616
Constant undefined
Undefined
617
Bail
710
Unreachable
Block 58
621
Constant 0x0
Int32
633
Goto → block 59
Block 59 (loop header)
630
Phi ← Constant#621, Add#679
Value
723
Constant magic optimized-out
MagicOptimizedOut
634
InterruptCheck
635
Unbox Phi#630 to Int32 (fallible)
Int32
636
Unbox MinMax#556 to Int32 (fallible)
Int32
637
Compare ← Unbox#635, Unbox#636 Lt
Bool
638
Test ← Compare#637 → block 60, block 66
1
0
Block 60
728
Constant magic optimized-out
MagicOptimizedOut
639
Unbox ObjectKeys#533 to Object (fallible)
Object
640
Unbox Phi#630 to Int32 (fallible)
Int32
641
GuardShape ← Unbox#639
Object
642
Elements ← GuardShape#641
Elements
643
InitializedLength ← Elements#642
Int32
644
BoundsCheck ← Unbox#640, InitializedLength#643
Int32
645
SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643
Int32
646
GuardElementNotHole ← Elements#642, SpectreMaskIndex#645
647
Constant true
Bool
648
Test ← Constant#647 → block 62, block 61
1
0
Block 61 (split edge)
725
Constant magic optimized-out
MagicOptimizedOut
722
Goto → block 65
Block 62
727
Constant magic optimized-out
MagicOptimizedOut
649
Unbox ObjectKeys#533 to Object (fallible)
Object
650
Unbox Phi#630 to Int32 (fallible)
Int32
651
GuardShape ← Unbox#649
Object
652
Elements ← GuardShape#651
Elements
653
InitializedLength ← Elements#652
Int32
654
BoundsCheck ← Unbox#650, InitializedLength#653
Int32
655
SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653
Int32
656
GuardElementsArePacked ← Elements#652
657
LoadElement ← Elements#652, SpectreMaskIndex#655
Value
658
Constant 0x3
Int32
659
Unbox Lambda#538 to Object (fallible)
Object
660
GuardToFunction ← Unbox#659
Object
661
GuardFunctionScript ← GuardToFunction#660
Object
662
Goto → block 63
Block 63
663
Constant undefined
Undefined
664
FunctionEnvironment ← GuardFunctionScript#661
Object
665
LoadFixedSlot ← FunctionEnvironment#664 (slot 2)
Value
666
Unbox LoadFixedSlot#665 to Object (fallible)
Object
667
MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657
Value
669
Goto → block 64
Block 64
726
Constant magic optimized-out
MagicOptimizedOut
670
Unbox NewArrayDynamicLength#612 to Object (fallible)
Object
671
Unbox Phi#630 to Int32 (fallible)
Int32
672
GuardShape ← Unbox#670
Object
673
Elements ← GuardShape#672
Elements
674
StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667
675
Goto → block 65
Block 65 (backedge)
724
Constant magic optimized-out
MagicOptimizedOut
677
Unbox Phi#630 to Int32 (fallible)
Int32
678
Constant 0x1
Int32
679
Add ← Unbox#677, Constant#678 [int32]
Int32
680
Goto → block 59
Block 66
683
Unbox NewArrayDynamicLength#612 to Object (fallible)
Object
684
GuardShape ← Unbox#683
Object
685
Constant object 104289c3e088 (Array)
Object
686
Constant function reduce (self-hosted:205) at 104289c479c0
Object
687
Constant function complex5/< (-e:22) at 104289c63e40
Object
688
Lambda ← NewCallObject#514, Constant#687
Object
689
Constant 0x0
Int32
690
Constant 0x2
Int32
691
Constant function reduce (self-hosted:205) at 104289c479c0
Object
692
GuardSpecificFunction ← Constant#686, Constant#691
Object
693
Call ← GuardSpecificFunction#692, NewArrayDynamicLength#612, Lambda#688, Constant#689
Value
695
Goto → block 67
Block 67 (backedge)
696
Unbox Phi#95 to Int32 (fallible)
Int32
697
Constant 0x1
Int32
698
Add ← Unbox#696, Constant#697 [int32]
Int32
699
Goto → block 1
Block 68
700
Unbox Phi#88 to Double (fallible)
Double
701
Unbox Phi#89 to Double (fallible)
Double
702
Add ← Unbox#700, Unbox#701 [double]
Double
703
Unbox Phi#90 to Double (fallible)
Double
704
Add ← Add#702, Unbox#703 [double]
Double
705
Unbox Phi#92 to Double (fallible)
Double
706
Add ← Add#704, Unbox#705 [double]
Double
707
Unbox Phi#94 to Double (fallible)
Double
708
Add ← Add#706, Unbox#707 [double]
Double
709
Return ← Add#708
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant object 104289c3f040 (LexicalEnvironment)
Object
7
Constant object 104289c3e030 (global)
Object
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
9
Constant undefined
Undefined
10
Constant 0x1
Int32
11
Constant function complex1 (-e:2) at 104289c6c8c8
Object
12
GuardSpecificFunction ← Constant#8, Constant#11
Object
13
Call ← GuardSpecificFunction#12, Constant#9, Parameter#1
Value
14
Constant object 104289c3f040 (LexicalEnvironment)
Object
15
Constant object 104289c3e030 (global)
Object
16
Constant function complex2 (-e:7) at 104289c6c970
Object
17
Constant undefined
Undefined
18
Constant 0x1
Int32
19
Constant function complex2 (-e:7) at 104289c6c970
Object
20
GuardSpecificFunction ← Constant#16, Constant#19
Object
21
Call ← GuardSpecificFunction#20, Constant#17, Parameter#1
Value
22
Constant object 104289c3f040 (LexicalEnvironment)
Object
23
Constant object 104289c3e030 (global)
Object
24
Constant function complex3 (-e:11) at 104289c6c938
Object
25
Constant undefined
Undefined
26
Constant 0x2
Int32
27
Constant function complex3 (-e:11) at 104289c6c938
Object
28
GuardSpecificFunction ← Constant#24, Constant#27
Object
29
Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
52
Constant object 104289c3f040 (LexicalEnvironment)
Object
53
Constant object 104289c3e030 (global)
Object
54
Constant function complex4 (-e:17) at 104289c6c890
Object
55
Constant undefined
Undefined
56
Constant 0x1
Int32
57
Constant function complex4 (-e:17) at 104289c6c890
Object
58
GuardSpecificFunction ← Constant#54, Constant#57
Object
59
Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
65
GuardShape ← NewPlainObject#61
Object
66
PostWriteBarrier ← GuardShape#65, Call#21
67
StoreFixedSlot ← GuardShape#65, Call#21 (slot 1)
68
GuardShape ← NewPlainObject#61
Object
69
PostWriteBarrier ← GuardShape#68, Call#29
70
StoreFixedSlot ← GuardShape#68, Call#29 (slot 2)
71
GuardShape ← NewPlainObject#61
Object
72
PostWriteBarrier ← GuardShape#71, Call#59
73
StoreFixedSlot ← GuardShape#71, Call#59 (slot 3)
74
Constant object 104289c3f040 (LexicalEnvironment)
Object
75
Constant object 104289c3e030 (global)
Object
76
Constant function complex5 (-e:21) at 104289c6c900
Object
77
Constant undefined
Undefined
78
Constant 0x1
Int32
79
Constant function complex5 (-e:21) at 104289c6c900
Object
80
GuardSpecificFunction ← Constant#76, Constant#79
Object
81
Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61
Value
82
Constant magic uninitialized-lexical
MagicUninitializedLexical
83
Constant 0x0
Int32
96
Goto → block 1
Block 1 (loop header)
88
Phi ← Call#13, Call#112
Value
89
Phi ← Call#21, BitOr#137
Value
90
Phi ← Call#29, Call#147
Value
92
Phi ← Call#59, Call#489
Value
94
Phi ← Call#81, Call#693
Value
95
Phi ← Constant#83, Add#698
Value
97
InterruptCheck
98
Constant 0xa
Int32
99
Unbox Phi#95 to Int32 (fallible)
Int32
100
Compare ← Unbox#99, Constant#98 Lt
Bool
101
Test ← Compare#100 → block 2, block 68
1
0
Block 2
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant function complex1 (-e:2) at 104289c6c8c8
Object
105
Constant undefined
Undefined
106
Unbox Phi#88 to Double (fallible)
Double
107
Unbox Phi#95 to Double (fallible)
Double
108
Add ← Unbox#106, Unbox#107 [double]
Double
109
Constant 0x1
Int32
110
Constant function complex1 (-e:2) at 104289c6c8c8
Object
111
GuardSpecificFunction ← Constant#104, Constant#110
Object
112
Call ← GuardSpecificFunction#111, Constant#105, Add#108
Value
113
Constant object 104289c3f040 (LexicalEnvironment)
Object
114
Constant object 104289c3e030 (global)
Object
115
Constant function complex2 (-e:7) at 104289c6c970
Object
116
Constant undefined
Undefined
117
Unbox Phi#89 to Int32 (fallible)
Int32
118
Unbox Phi#95 to Int32 (fallible)
Int32
119
Add ← Unbox#117, Unbox#118 [int32]
Int32
120
Constant 0x1
Int32
121
Constant function complex2 (-e:7) at 104289c6c970
Object
122
GuardSpecificFunction ← Constant#115, Constant#121
Object
123
Goto → block 3
Block 3
124
Constant undefined
Undefined
125
Constant 0x1
Int32
126
Lsh ← Add#119, Constant#125
Int32
127
Constant 0x1
Int32
128
Rsh ← Add#119, Constant#127
Int32
129
Constant 0xff
Int32
130
BitAnd ← Add#119, Constant#129
Int32
131
Constant 0x2
Int32
132
Ursh ← Add#119, Constant#131
Int32
133
Add ← BitAnd#130, Ursh#132 [int32]
Int32
134
BitNot ← Add#119
Int32
135
Sub ← Add#133, BitNot#134 [int32]
Int32
136
BitXor ← Rsh#128, Sub#135
Int32
137
BitOr ← Lsh#126, BitXor#136
Int32
139
Goto → block 4
Block 4
140
Constant object 104289c3f040 (LexicalEnvironment)
Object
141
Constant object 104289c3e030 (global)
Object
142
Constant function complex3 (-e:11) at 104289c6c938
Object
143
Constant undefined
Undefined
144
Constant 0x2
Int32
145
Constant function complex3 (-e:11) at 104289c6c938
Object
146
GuardSpecificFunction ← Constant#142, Constant#145
Object
147
Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112
Value
148
Constant object 104289c3f040 (LexicalEnvironment)
Object
149
Constant object 104289c3e030 (global)
Object
150
Constant function complex4 (-e:17) at 104289c6c890
Object
151
Constant undefined
Undefined
152
Constant shape at 104289c64f00
Shape
153
NewArrayObject ← Constant#152
Object
154
Constant 0x0
Int32
155
Elements ← NewArrayObject#153
Elements
156
PostWriteBarrier ← NewArrayObject#153, Call#112
157
StoreElement ← Elements#155, Constant#154, Call#112
158
SetInitializedLength ← Elements#155, Constant#154
159
Constant 0x1
Int32
160
Elements ← NewArrayObject#153
Elements
161
PostWriteBarrier ← NewArrayObject#153, BitOr#137
162
StoreElement ← Elements#160, Constant#159, BitOr#137
163
SetInitializedLength ← Elements#160, Constant#159
164
Constant 0x2
Int32
165
Elements ← NewArrayObject#153
Elements
166
PostWriteBarrier ← NewArrayObject#153, Call#147
167
StoreElement ← Elements#165, Constant#164, Call#147
168
SetInitializedLength ← Elements#165, Constant#164
169
Constant 0x3
Int32
170
Elements ← NewArrayObject#153
Elements
171
PostWriteBarrier ← NewArrayObject#153, Phi#95
172
StoreElement ← Elements#170, Constant#169, Phi#95
173
SetInitializedLength ← Elements#170, Constant#169
174
Constant 0x1
Int32
175
Constant function complex4 (-e:17) at 104289c6c890
Object
176
GuardSpecificFunction ← Constant#150, Constant#175
Object
177
Goto → block 5
Block 5
178
Constant undefined
Undefined
179
FunctionEnvironment ← GuardSpecificFunction#176
Object
180
GuardShape ← NewArrayObject#153
Object
181
Constant object 104289c3e088 (Array)
Object
182
Constant function map (self-hosted:163) at 104289c47920
Object
183
Constant function complex4/< (-e:18) at 104289c63d28
Object
184
Lambda ← FunctionEnvironment#179, Constant#183
Object
185
Constant 0x1
Int32
186
Constant function map (self-hosted:163) at 104289c47920
Object
187
GuardSpecificFunction ← Constant#182, Constant#186
Object
188
Goto → block 6
Block 6
189
Constant undefined
Undefined
190
Constant function ToObject at 104289c6c740
Object
191
DebugCheckSelfHosted ← Constant#190
Value
192
Constant undefined
Undefined
193
Constant 0x1
Int32
194
Constant function ToLength at 104289c6c778
Object
195
DebugCheckSelfHosted ← Constant#194
Value
196
Constant undefined
Undefined
197
GuardShape ← NewArrayObject#153
Object
198
Elements ← GuardShape#197
Elements
199
ArrayLength ← Elements#198
Int32
200
Constant 0x1
Int32
201
Constant 0x0
Int32
202
MinMax ← ArrayLength#199, Constant#201 (max)
Int32
203
Constant 0x1
Int32
204
Constant 0x0
Int32
205
Compare ← Constant#203, Constant#204 StrictEq
Bool
206
Test ← Compare#205 → block 7, block 8
1
0
Block 7
207
CallGetIntrinsicValue
Value
208
DebugCheckSelfHosted ← CallGetIntrinsicValue#207
Value
209
Constant undefined
Undefined
210
Constant 0x37
Int32
211
Constant 0x0
Int32
212
Constant string 104289c2e080
String
213
Bail
718
Unreachable
Block 8
216
Constant function IsCallable at 104289c6c7b0
Object
217
DebugCheckSelfHosted ← Constant#216
Value
218
Constant undefined
Undefined
219
Constant 0x1
Int32
220
IsCallable ← Lambda#184
Bool
221
Test ← IsCallable#220 → block 10, block 9
1
0
Block 9
222
CallGetIntrinsicValue
Value
223
DebugCheckSelfHosted ← CallGetIntrinsicValue#222
Value
224
Constant undefined
Undefined
225
Constant 0xc
Int32
226
CallGetIntrinsicValue
Value
227
DebugCheckSelfHosted ← CallGetIntrinsicValue#226
Value
228
Constant undefined
Undefined
229
Constant 0x0
Int32
230
Bail
717
Unreachable
Block 10
235
Constant 0x1
Int32
236
Constant 0x1
Int32
237
Compare ← Constant#235, Constant#236 Gt
Bool
238
Test ← Compare#237 → block 11, block 12
1
0
Block 11
239
Constant 0x1
Int32
240
GetInlinedArgument ← Constant#239, Lambda#184
Value
241
Goto → block 13
Block 12
242
Constant undefined
Undefined
243
Goto → block 13
Block 13
244
Phi ← Constant#242, GetInlinedArgument#240
Value
245
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
246
DebugCheckSelfHosted ← Constant#245
Value
247
Constant undefined
Undefined
248
Constant 0x1
Int32
249
HasShape ← NewArrayObject#153
Bool
250
Test ← HasShape#249 → block 14, block 15
1
0
Block 14
251
Constant function std_Array at 104289c6c820
Object
252
DebugCheckSelfHosted ← Constant#251
Value
253
Constant undefined
Undefined
254
Constant 0x1
Int32
255
Unbox DebugCheckSelfHosted#252 to Object (fallible)
Object
256
Constant function std_Array at 104289c6c820
Object
257
GuardSpecificFunction ← Unbox#255, Constant#256
Object
258
NewArrayDynamicLength ← MinMax#202
Object
259
Goto → block 16
Block 15
260
CallGetIntrinsicValue
Value
261
DebugCheckSelfHosted ← CallGetIntrinsicValue#260
Value
262
Constant undefined
Undefined
263
Bail
716
Unreachable
Block 16
267
Constant 0x0
Int32
279
Goto → block 17
Block 17 (loop header)
276
Phi ← Constant#267, Add#324
Value
734
Constant magic optimized-out
MagicOptimizedOut
280
InterruptCheck
281
Unbox Phi#276 to Int32 (fallible)
Int32
282
Unbox MinMax#202 to Int32 (fallible)
Int32
283
Compare ← Unbox#281, Unbox#282 Lt
Bool
284
Test ← Compare#283 → block 18, block 24
1
0
Block 18
739
Constant magic optimized-out
MagicOptimizedOut
285
Unbox NewArrayObject#153 to Object (fallible)
Object
286
Unbox Phi#276 to Int32 (fallible)
Int32
287
GuardShape ← Unbox#285
Object
288
Elements ← GuardShape#287
Elements
289
InitializedLength ← Elements#288
Int32
290
BoundsCheck ← Unbox#286, InitializedLength#289
Int32
291
SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289
Int32
292
GuardElementNotHole ← Elements#288, SpectreMaskIndex#291
293
Constant true
Bool
294
Test ← Constant#293 → block 20, block 19
1
0
Block 19 (split edge)
736
Constant magic optimized-out
MagicOptimizedOut
719
Goto → block 23
Block 20
738
Constant magic optimized-out
MagicOptimizedOut
295
Unbox NewArrayObject#153 to Object (fallible)
Object
296
Unbox Phi#276 to Int32 (fallible)
Int32
297
GuardShape ← Unbox#295
Object
298
Elements ← GuardShape#297
Elements
299
InitializedLength ← Elements#298
Int32
300
BoundsCheck ← Unbox#296, InitializedLength#299
Int32
301
SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299
Int32
302
GuardElementsArePacked ← Elements#298
303
LoadElement ← Elements#298, SpectreMaskIndex#301
Value
304
Constant 0x3
Int32
305
Unbox Lambda#184 to Object (fallible)
Object
306
GuardToFunction ← Unbox#305
Object
307
GuardFunctionScript ← GuardToFunction#306
Object
308
Goto → block 21
Block 21
309
Constant undefined
Undefined
310
Constant 0x2
Int32
311
Unbox LoadElement#303 to Double (fallible)
Double
312
Mul ← Unbox#311, Constant#310 [double]
Double
314
Goto → block 22
Block 22
737
Constant magic optimized-out
MagicOptimizedOut
315
Unbox NewArrayDynamicLength#258 to Object (fallible)
Object
316
Unbox Phi#276 to Int32 (fallible)
Int32
317
GuardShape ← Unbox#315
Object
318
Elements ← GuardShape#317
Elements
319
StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312
320
Goto → block 23
Block 23 (backedge)
735
Constant magic optimized-out
MagicOptimizedOut
322
Unbox Phi#276 to Int32 (fallible)
Int32
323
Constant 0x1
Int32
324
Add ← Unbox#322, Constant#323 [int32]
Int32
325
Goto → block 17
Block 24
328
Unbox NewArrayDynamicLength#258 to Object (fallible)
Object
329
GuardShape ← Unbox#328
Object
330
Constant object 104289c3e088 (Array)
Object
331
Constant function filter (self-hosted:183) at 104289c47970
Object
332
Constant function complex4/< (-e:18) at 104289c63d60
Object
333
Lambda ← FunctionEnvironment#179, Constant#332
Object
334
Constant 0x1
Int32
335
Constant function filter (self-hosted:183) at 104289c47970
Object
336
GuardSpecificFunction ← Constant#331, Constant#335
Object
337
Goto → block 25
Block 25
338
Constant undefined
Undefined
339
Constant function ToObject at 104289c6c740
Object
340
DebugCheckSelfHosted ← Constant#339
Value
341
Constant undefined
Undefined
342
Constant 0x1
Int32
343
Unbox NewArrayDynamicLength#258 to Object (fallible)
Object
344
Constant function ToLength at 104289c6c778
Object
345
DebugCheckSelfHosted ← Constant#344
Value
346
Constant undefined
Undefined
347
GuardShape ← Unbox#343
Object
348
Elements ← GuardShape#347
Elements
349
ArrayLength ← Elements#348
Int32
350
Constant 0x1
Int32
351
Constant 0x0
Int32
352
MinMax ← ArrayLength#349, Constant#351 (max)
Int32
353
Constant 0x1
Int32
354
Constant 0x0
Int32
355
Compare ← Constant#353, Constant#354 StrictEq
Bool
356
Test ← Compare#355 → block 26, block 27
1
0
Block 26
357
CallGetIntrinsicValue
Value
358
DebugCheckSelfHosted ← CallGetIntrinsicValue#357
Value
359
Constant undefined
Undefined
360
Constant 0x37
Int32
361
Constant 0x0
Int32
362
Constant string 104289c28540
String
363
Bail
715
Unreachable
Block 27
366
Constant function IsCallable at 104289c6c7b0
Object
367
DebugCheckSelfHosted ← Constant#366
Value
368
Constant undefined
Undefined
369
Constant 0x1
Int32
370
IsCallable ← Lambda#333
Bool
371
Test ← IsCallable#370 → block 29, block 28
1
0
Block 28
372
CallGetIntrinsicValue
Value
373
DebugCheckSelfHosted ← CallGetIntrinsicValue#372
Value
374
Constant undefined
Undefined
375
Constant 0xc
Int32
376
CallGetIntrinsicValue
Value
377
DebugCheckSelfHosted ← CallGetIntrinsicValue#376
Value
378
Constant undefined
Undefined
379
Constant 0x0
Int32
380
Bail
714
Unreachable
Block 29
385
Constant 0x1
Int32
386
Constant 0x1
Int32
387
Compare ← Constant#385, Constant#386 Gt
Bool
388
Test ← Compare#387 → block 30, block 31
1
0
Block 30
389
Constant 0x1
Int32
390
GetInlinedArgument ← Constant#389, Lambda#333
Value
391
Goto → block 32
Block 31
392
Constant undefined
Undefined
393
Goto → block 32
Block 32
394
Phi ← Constant#392, GetInlinedArgument#390
Value
395
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
396
DebugCheckSelfHosted ← Constant#395
Value
397
Constant undefined
Undefined
398
Constant 0x1
Int32
399
HasShape ← Unbox#343
Bool
400
Test ← HasShape#399 → block 33, block 34
1
0
Block 33
401
Constant shape at 104289c64f00
Shape
402
NewArrayObject ← Constant#401
Object
403
Goto → block 35
Block 34
404
CallGetIntrinsicValue
Value
405
DebugCheckSelfHosted ← CallGetIntrinsicValue#404
Value
406
Constant undefined
Undefined
407
Constant 0x0
Int32
408
Bail
713
Unreachable
Block 35
412
Constant 0x0
Int32
413
Constant 0x0
Int32
426
Goto → block 36
Block 36 (loop header)
422
Phi ← Constant#412, Add#475
Value
423
Phi ← Constant#413, Phi#471
Value
729
Constant magic optimized-out
MagicOptimizedOut
427
InterruptCheck
428
Unbox Phi#422 to Int32 (fallible)
Int32
429
Unbox MinMax#352 to Int32 (fallible)
Int32
430
Compare ← Unbox#428, Unbox#429 Lt
Bool
431
Test ← Compare#430 → block 37, block 45
1
0
Block 37
733
Constant magic optimized-out
MagicOptimizedOut
432
Unbox Unbox#343 to Object (fallible)
Object
433
Unbox Phi#422 to Int32 (fallible)
Int32
434
GuardShape ← Unbox#432
Object
435
Elements ← GuardShape#434
Elements
436
InitializedLength ← Elements#435
Int32
437
BoundsCheck ← Unbox#433, InitializedLength#436
Int32
438
SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436
Int32
439
GuardElementNotHole ← Elements#435, SpectreMaskIndex#438
440
Constant true
Bool
441
Test ← Constant#440 → block 39, block 38
1
0
Block 38 (split edge)
731
Constant magic optimized-out
MagicOptimizedOut
720
Goto → block 44
Block 39
732
Constant magic optimized-out
MagicOptimizedOut
442
Unbox Unbox#343 to Object (fallible)
Object
443
Unbox Phi#422 to Int32 (fallible)
Int32
444
GuardShape ← Unbox#442
Object
445
Elements ← GuardShape#444
Elements
446
InitializedLength ← Elements#445
Int32
447
BoundsCheck ← Unbox#443, InitializedLength#446
Int32
448
SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446
Int32
449
GuardElementsArePacked ← Elements#445
450
LoadElement ← Elements#445, SpectreMaskIndex#448
Value
451
Constant 0x3
Int32
452
Unbox Lambda#333 to Object (fallible)
Object
453
GuardToFunction ← Unbox#452
Object
454
GuardFunctionScript ← GuardToFunction#453
Object
455
Goto → block 40
Block 40
456
Constant undefined
Undefined
457
Constant 0x32
Int32
458
Unbox LoadElement#450 to Double (fallible)
Double
459
Compare ← Unbox#458, Constant#457 Gt
Bool
461
Goto → block 41
Block 41
462
Test ← Compare#459 → block 43, block 42
1
0
Block 42 (split edge)
721
Goto → block 44
Block 43
463
Unbox Phi#423 to Int32 (fallible)
Int32
464
Constant 0x1
Int32
465
Add ← Unbox#463, Constant#464 [int32]
Int32
466
Unbox NewArrayObject#402 to Object (fallible)
Object
467
GuardShape ← Unbox#466
Object
468
Elements ← GuardShape#467
Elements
469
StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450
470
Goto → block 44
Block 44 (backedge)
471
Phi ← Add#465, Phi#423, Phi#423
Value
730
Constant magic optimized-out
MagicOptimizedOut
473
Unbox Phi#422 to Int32 (fallible)
Int32
474
Constant 0x1
Int32
475
Add ← Unbox#473, Constant#474 [int32]
Int32
476
Goto → block 36
Block 45
479
Unbox NewArrayObject#402 to Object (fallible)
Object
480
GuardShape ← Unbox#479
Object
481
Constant object 104289c3e088 (Array)
Object
482
Constant function reduce (self-hosted:205) at 104289c479c0
Object
483
Constant function complex4/< (-e:18) at 104289c63d98
Object
484
Lambda ← FunctionEnvironment#179, Constant#483
Object
485
Constant 0x0
Int32
486
Constant 0x2
Int32
487
Constant function reduce (self-hosted:205) at 104289c479c0
Object
488
GuardSpecificFunction ← Constant#482, Constant#487
Object
489
Call ← GuardSpecificFunction#488, NewArrayObject#402, Lambda#484, Constant#485
Value
491
Goto → block 46
Block 46
492
Constant object 104289c3f040 (LexicalEnvironment)
Object
493
Constant object 104289c3e030 (global)
Object
494
Constant function complex5 (-e:21) at 104289c6c900
Object
495
Constant undefined
Undefined
496
Constant shape at 104289c64fc0
Shape
497
NewPlainObject ← Constant#496
Object
498
GuardShape ← NewPlainObject#497
Object
499
PostWriteBarrier ← GuardShape#498, Call#112
500
StoreFixedSlot ← GuardShape#498, Call#112 (slot 0)
501
GuardShape ← NewPlainObject#497
Object
502
PostWriteBarrier ← GuardShape#501, BitOr#137
503
StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1)
504
GuardShape ← NewPlainObject#497
Object
505
PostWriteBarrier ← GuardShape#504, Call#147
506
StoreFixedSlot ← GuardShape#504, Call#147 (slot 2)
507
Constant 0x1
Int32
508
Constant function complex5 (-e:21) at 104289c6c900
Object
509
GuardSpecificFunction ← Constant#494, Constant#508
Object
510
Goto → block 47
Block 47
511
Constant undefined
Undefined
512
FunctionEnvironment ← GuardSpecificFunction#509
Object
513
Constant object 104289c3f078 (Call)
Object
514
NewCallObject ← Constant#513
Object
515
AssertCanElidePostWriteBarrier ← NewCallObject#514, FunctionEnvironment#512
516
AssertCanElidePostWriteBarrier ← NewCallObject#514, GuardSpecificFunction#509
517
StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0)
518
StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1)
519
PostWriteBarrier ← NewCallObject#514, NewPlainObject#497
520
StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2)
521
Constant object 104289c3f040 (LexicalEnvironment)
Object
522
Constant object 104289c3e030 (global)
Object
523
Constant function Object at 104289c422e0
Object
524
Constant function Object at 104289c422e0
Object
525
GuardObjectIdentity ← Constant#523, Constant#524
Object
526
Constant function keys at 104289c42468
Object
527
LoadFixedSlot ← NewCallObject#514 (slot 2)
Value
528
Constant 0x1
Int32
529
Constant function keys at 104289c42468
Object
530
GuardSpecificFunction ← Constant#526, Constant#529
Object
531
Unbox LoadFixedSlot#527 to Object (fallible)
Object
532
GuardIsNotProxy ← Unbox#531
Object
533
ObjectKeys ← GuardIsNotProxy#532
Object
534
GuardShape ← ObjectKeys#533
Object
535
Constant object 104289c3e088 (Array)
Object
536
Constant function map (self-hosted:163) at 104289c47920
Object
537
Constant function complex5/< (-e:22) at 104289c63e08
Object
538
Lambda ← NewCallObject#514, Constant#537
Object
539
Constant 0x1
Int32
540
Constant function map (self-hosted:163) at 104289c47920
Object
541
GuardSpecificFunction ← Constant#536, Constant#540
Object
542
Goto → block 48
Block 48
543
Constant undefined
Undefined
544
Constant function ToObject at 104289c6c740
Object
545
DebugCheckSelfHosted ← Constant#544
Value
546
Constant undefined
Undefined
547
Constant 0x1
Int32
548
Constant function ToLength at 104289c6c778
Object
549
DebugCheckSelfHosted ← Constant#548
Value
550
Constant undefined
Undefined
551
GuardShape ← ObjectKeys#533
Object
552
Elements ← GuardShape#551
Elements
553
ArrayLength ← Elements#552
Int32
554
Constant 0x1
Int32
555
Constant 0x0
Int32
556
MinMax ← ArrayLength#553, Constant#555 (max)
Int32
557
Constant 0x1
Int32
558
Constant 0x0
Int32
559
Compare ← Constant#557, Constant#558 StrictEq
Bool
560
Test ← Compare#559 → block 49, block 50
1
0
Block 49
561
CallGetIntrinsicValue
Value
562
DebugCheckSelfHosted ← CallGetIntrinsicValue#561
Value
563
Constant undefined
Undefined
564
Constant 0x37
Int32
565
Constant 0x0
Int32
566
Constant string 104289c2e080
String
567
Bail
712
Unreachable
Block 50
570
Constant function IsCallable at 104289c6c7b0
Object
571
DebugCheckSelfHosted ← Constant#570
Value
572
Constant undefined
Undefined
573
Constant 0x1
Int32
574
IsCallable ← Lambda#538
Bool
575
Test ← IsCallable#574 → block 52, block 51
1
0
Block 51
576
CallGetIntrinsicValue
Value
577
DebugCheckSelfHosted ← CallGetIntrinsicValue#576
Value
578
Constant undefined
Undefined
579
Constant 0xc
Int32
580
CallGetIntrinsicValue
Value
581
DebugCheckSelfHosted ← CallGetIntrinsicValue#580
Value
582
Constant undefined
Undefined
583
Constant 0x0
Int32
584
Bail
711
Unreachable
Block 52
589
Constant 0x1
Int32
590
Constant 0x1
Int32
591
Compare ← Constant#589, Constant#590 Gt
Bool
592
Test ← Compare#591 → block 53, block 54
1
0
Block 53
593
Constant 0x1
Int32
594
GetInlinedArgument ← Constant#593, Lambda#538
Value
595
Goto → block 55
Block 54
596
Constant undefined
Undefined
597
Goto → block 55
Block 55
598
Phi ← Constant#596, GetInlinedArgument#594
Value
599
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
600
DebugCheckSelfHosted ← Constant#599
Value
601
Constant undefined
Undefined
602
Constant 0x1
Int32
603
HasShape ← ObjectKeys#533
Bool
604
Test ← HasShape#603 → block 56, block 57
1
0
Block 56
605
Constant function std_Array at 104289c6c820
Object
606
DebugCheckSelfHosted ← Constant#605
Value
607
Constant undefined
Undefined
608
Constant 0x1
Int32
609
Unbox DebugCheckSelfHosted#606 to Object (fallible)
Object
610
Constant function std_Array at 104289c6c820
Object
611
GuardSpecificFunction ← Unbox#609, Constant#610
Object
612
NewArrayDynamicLength ← MinMax#556
Object
613
Goto → block 58
Block 57
614
CallGetIntrinsicValue
Value
615
DebugCheckSelfHosted ← CallGetIntrinsicValue#614
Value
616
Constant undefined
Undefined
617
Bail
710
Unreachable
Block 58
621
Constant 0x0
Int32
633
Goto → block 59
Block 59 (loop header)
630
Phi ← Constant#621, Add#679
Value
723
Constant magic optimized-out
MagicOptimizedOut
634
InterruptCheck
635
Unbox Phi#630 to Int32 (fallible)
Int32
636
Unbox MinMax#556 to Int32 (fallible)
Int32
637
Compare ← Unbox#635, Unbox#636 Lt
Bool
638
Test ← Compare#637 → block 60, block 66
1
0
Block 60
728
Constant magic optimized-out
MagicOptimizedOut
639
Unbox ObjectKeys#533 to Object (fallible)
Object
640
Unbox Phi#630 to Int32 (fallible)
Int32
641
GuardShape ← Unbox#639
Object
642
Elements ← GuardShape#641
Elements
643
InitializedLength ← Elements#642
Int32
644
BoundsCheck ← Unbox#640, InitializedLength#643
Int32
645
SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643
Int32
646
GuardElementNotHole ← Elements#642, SpectreMaskIndex#645
647
Constant true
Bool
648
Test ← Constant#647 → block 62, block 61
1
0
Block 61 (split edge)
725
Constant magic optimized-out
MagicOptimizedOut
722
Goto → block 65
Block 62
727
Constant magic optimized-out
MagicOptimizedOut
649
Unbox ObjectKeys#533 to Object (fallible)
Object
650
Unbox Phi#630 to Int32 (fallible)
Int32
651
GuardShape ← Unbox#649
Object
652
Elements ← GuardShape#651
Elements
653
InitializedLength ← Elements#652
Int32
654
BoundsCheck ← Unbox#650, InitializedLength#653
Int32
655
SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653
Int32
656
GuardElementsArePacked ← Elements#652
657
LoadElement ← Elements#652, SpectreMaskIndex#655
Value
658
Constant 0x3
Int32
659
Unbox Lambda#538 to Object (fallible)
Object
660
GuardToFunction ← Unbox#659
Object
661
GuardFunctionScript ← GuardToFunction#660
Object
662
Goto → block 63
Block 63
663
Constant undefined
Undefined
664
FunctionEnvironment ← GuardFunctionScript#661
Object
665
LoadFixedSlot ← FunctionEnvironment#664 (slot 2)
Value
666
Unbox LoadFixedSlot#665 to Object (fallible)
Object
667
MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657
Value
669
Goto → block 64
Block 64
726
Constant magic optimized-out
MagicOptimizedOut
670
Unbox NewArrayDynamicLength#612 to Object (fallible)
Object
671
Unbox Phi#630 to Int32 (fallible)
Int32
672
GuardShape ← Unbox#670
Object
673
Elements ← GuardShape#672
Elements
674
StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667
675
Goto → block 65
Block 65 (backedge)
724
Constant magic optimized-out
MagicOptimizedOut
677
Unbox Phi#630 to Int32 (fallible)
Int32
678
Constant 0x1
Int32
679
Add ← Unbox#677, Constant#678 [int32]
Int32
680
Goto → block 59
Block 66
683
Unbox NewArrayDynamicLength#612 to Object (fallible)
Object
684
GuardShape ← Unbox#683
Object
685
Constant object 104289c3e088 (Array)
Object
686
Constant function reduce (self-hosted:205) at 104289c479c0
Object
687
Constant function complex5/< (-e:22) at 104289c63e40
Object
688
Lambda ← NewCallObject#514, Constant#687
Object
689
Constant 0x0
Int32
690
Constant 0x2
Int32
691
Constant function reduce (self-hosted:205) at 104289c479c0
Object
692
GuardSpecificFunction ← Constant#686, Constant#691
Object
693
Call ← GuardSpecificFunction#692, NewArrayDynamicLength#612, Lambda#688, Constant#689
Value
695
Goto → block 67
Block 67 (backedge)
696
Unbox Phi#95 to Int32 (fallible)
Int32
697
Constant 0x1
Int32
698
Add ← Unbox#696, Constant#697 [int32]
Int32
699
Goto → block 1
Block 68
700
Unbox Phi#88 to Double (fallible)
Double
701
Unbox Phi#89 to Double (fallible)
Double
702
Add ← Unbox#700, Unbox#701 [double]
Double
703
Unbox Phi#90 to Double (fallible)
Double
704
Add ← Add#702, Unbox#703 [double]
Double
705
Unbox Phi#92 to Double (fallible)
Double
706
Add ← Add#704, Unbox#705 [double]
Double
707
Unbox Phi#94 to Double (fallible)
Double
708
Add ← Add#706, Unbox#707 [double]
Double
709
Return ← Add#708
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant object 104289c3f040 (LexicalEnvironment)
Object
7
Constant object 104289c3e030 (global)
Object
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
9
Constant undefined
Undefined
10
Constant 0x1
Int32
11
Constant function complex1 (-e:2) at 104289c6c8c8
Object
12
GuardSpecificFunction ← Constant#8, Constant#11
Object
13
Call ← GuardSpecificFunction#12, Constant#9, Parameter#1
Value
14
Constant object 104289c3f040 (LexicalEnvironment)
Object
15
Constant object 104289c3e030 (global)
Object
16
Constant function complex2 (-e:7) at 104289c6c970
Object
17
Constant undefined
Undefined
18
Constant 0x1
Int32
19
Constant function complex2 (-e:7) at 104289c6c970
Object
20
GuardSpecificFunction ← Constant#16, Constant#19
Object
21
Call ← GuardSpecificFunction#20, Constant#17, Parameter#1
Value
22
Constant object 104289c3f040 (LexicalEnvironment)
Object
23
Constant object 104289c3e030 (global)
Object
24
Constant function complex3 (-e:11) at 104289c6c938
Object
25
Constant undefined
Undefined
26
Constant 0x2
Int32
27
Constant function complex3 (-e:11) at 104289c6c938
Object
28
GuardSpecificFunction ← Constant#24, Constant#27
Object
29
Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
52
Constant object 104289c3f040 (LexicalEnvironment)
Object
53
Constant object 104289c3e030 (global)
Object
54
Constant function complex4 (-e:17) at 104289c6c890
Object
55
Constant undefined
Undefined
56
Constant 0x1
Int32
57
Constant function complex4 (-e:17) at 104289c6c890
Object
58
GuardSpecificFunction ← Constant#54, Constant#57
Object
59
Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
65
GuardShape ← NewPlainObject#61
Object
66
PostWriteBarrier ← GuardShape#65, Call#21
67
StoreFixedSlot ← GuardShape#65, Call#21 (slot 1)
68
GuardShape ← NewPlainObject#61
Object
69
PostWriteBarrier ← GuardShape#68, Call#29
70
StoreFixedSlot ← GuardShape#68, Call#29 (slot 2)
71
GuardShape ← NewPlainObject#61
Object
72
PostWriteBarrier ← GuardShape#71, Call#59
73
StoreFixedSlot ← GuardShape#71, Call#59 (slot 3)
74
Constant object 104289c3f040 (LexicalEnvironment)
Object
75
Constant object 104289c3e030 (global)
Object
76
Constant function complex5 (-e:21) at 104289c6c900
Object
77
Constant undefined
Undefined
78
Constant 0x1
Int32
79
Constant function complex5 (-e:21) at 104289c6c900
Object
80
GuardSpecificFunction ← Constant#76, Constant#79
Object
81
Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61
Value
82
Constant magic uninitialized-lexical
MagicUninitializedLexical
83
Constant 0x0
Int32
96
Goto → block 1
Block 1 (loop header)
88
Phi ← Call#13, Call#112
Value
89
Phi ← Call#21, Box#740
Value
90
Phi ← Call#29, Call#147
Value
92
Phi ← Call#59, Call#489
Value
94
Phi ← Call#81, Call#693
Value
95
Phi ← Constant#83, Add#698
Int32
97
InterruptCheck
98
Constant 0xa
Int32
741
Box ← Phi#95
Value
99
Unbox Box#741 to Int32 (fallible)
Int32
100
Compare ← Unbox#99, Constant#98 Lt
Bool
101
Test ← Compare#100 → block 2, block 68
1
0
Block 2
102
Constant object 104289c3f040 (LexicalEnvironment)
Object
103
Constant object 104289c3e030 (global)
Object
104
Constant function complex1 (-e:2) at 104289c6c8c8
Object
105
Constant undefined
Undefined
106
Unbox Phi#88 to Double (fallible)
Double
742
Box ← Phi#95
Value
107
Unbox Box#742 to Double (fallible)
Double
108
Add ← Unbox#106, Unbox#107 [double]
Double
109
Constant 0x1
Int32
110
Constant function complex1 (-e:2) at 104289c6c8c8
Object
111
GuardSpecificFunction ← Constant#104, Constant#110
Object
112
Call ← GuardSpecificFunction#111, Constant#105, Add#108
Value
113
Constant object 104289c3f040 (LexicalEnvironment)
Object
114
Constant object 104289c3e030 (global)
Object
115
Constant function complex2 (-e:7) at 104289c6c970
Object
116
Constant undefined
Undefined
117
Unbox Phi#89 to Int32 (fallible)
Int32
743
Box ← Phi#95
Value
118
Unbox Box#743 to Int32 (fallible)
Int32
119
Add ← Unbox#117, Unbox#118 [int32]
Int32
120
Constant 0x1
Int32
121
Constant function complex2 (-e:7) at 104289c6c970
Object
122
GuardSpecificFunction ← Constant#115, Constant#121
Object
123
Goto → block 3
Block 3
124
Constant undefined
Undefined
125
Constant 0x1
Int32
126
Lsh ← Add#119, Constant#125
Int32
127
Constant 0x1
Int32
128
Rsh ← Add#119, Constant#127
Int32
129
Constant 0xff
Int32
130
BitAnd ← Add#119, Constant#129
Int32
131
Constant 0x2
Int32
132
Ursh ← Add#119, Constant#131
Int32
133
Add ← BitAnd#130, Ursh#132 [int32]
Int32
134
BitNot ← Add#119
Int32
135
Sub ← Add#133, BitNot#134 [int32]
Int32
136
BitXor ← Rsh#128, Sub#135
Int32
137
BitOr ← Lsh#126, BitXor#136
Int32
139
Goto → block 4
Block 4
140
Constant object 104289c3f040 (LexicalEnvironment)
Object
141
Constant object 104289c3e030 (global)
Object
142
Constant function complex3 (-e:11) at 104289c6c938
Object
143
Constant undefined
Undefined
144
Constant 0x2
Int32
145
Constant function complex3 (-e:11) at 104289c6c938
Object
146
GuardSpecificFunction ← Constant#142, Constant#145
Object
147
Call ← GuardSpecificFunction#146, Constant#143, Phi#90, Call#112
Value
148
Constant object 104289c3f040 (LexicalEnvironment)
Object
149
Constant object 104289c3e030 (global)
Object
150
Constant function complex4 (-e:17) at 104289c6c890
Object
151
Constant undefined
Undefined
152
Constant shape at 104289c64f00
Shape
153
NewArrayObject ← Constant#152
Object
154
Constant 0x0
Int32
155
Elements ← NewArrayObject#153
Elements
156
PostWriteBarrier ← NewArrayObject#153, Call#112
157
StoreElement ← Elements#155, Constant#154, Call#112
158
SetInitializedLength ← Elements#155, Constant#154
159
Constant 0x1
Int32
160
Elements ← NewArrayObject#153
Elements
161
PostWriteBarrier ← NewArrayObject#153, BitOr#137
162
StoreElement ← Elements#160, Constant#159, BitOr#137
163
SetInitializedLength ← Elements#160, Constant#159
164
Constant 0x2
Int32
165
Elements ← NewArrayObject#153
Elements
166
PostWriteBarrier ← NewArrayObject#153, Call#147
167
StoreElement ← Elements#165, Constant#164, Call#147
168
SetInitializedLength ← Elements#165, Constant#164
169
Constant 0x3
Int32
170
Elements ← NewArrayObject#153
Elements
171
PostWriteBarrier ← NewArrayObject#153, Phi#95
172
StoreElement ← Elements#170, Constant#169, Phi#95
173
SetInitializedLength ← Elements#170, Constant#169
174
Constant 0x1
Int32
175
Constant function complex4 (-e:17) at 104289c6c890
Object
176
GuardSpecificFunction ← Constant#150, Constant#175
Object
177
Goto → block 5
Block 5
178
Constant undefined
Undefined
179
FunctionEnvironment ← GuardSpecificFunction#176
Object
180
GuardShape ← NewArrayObject#153
Object
181
Constant object 104289c3e088 (Array)
Object
182
Constant function map (self-hosted:163) at 104289c47920
Object
183
Constant function complex4/< (-e:18) at 104289c63d28
Object
184
Lambda ← FunctionEnvironment#179, Constant#183
Object
185
Constant 0x1
Int32
186
Constant function map (self-hosted:163) at 104289c47920
Object
187
GuardSpecificFunction ← Constant#182, Constant#186
Object
188
Goto → block 6
Block 6
189
Constant undefined
Undefined
190
Constant function ToObject at 104289c6c740
Object
744
Box ← Constant#190
Value
191
DebugCheckSelfHosted ← Box#744
Value
192
Constant undefined
Undefined
193
Constant 0x1
Int32
194
Constant function ToLength at 104289c6c778
Object
745
Box ← Constant#194
Value
195
DebugCheckSelfHosted ← Box#745
Value
196
Constant undefined
Undefined
197
GuardShape ← NewArrayObject#153
Object
198
Elements ← GuardShape#197
Elements
199
ArrayLength ← Elements#198
Int32
200
Constant 0x1
Int32
201
Constant 0x0
Int32
202
MinMax ← ArrayLength#199, Constant#201 (max)
Int32
203
Constant 0x1
Int32
204
Constant 0x0
Int32
205
Compare ← Constant#203, Constant#204 StrictEq
Bool
206
Test ← Compare#205 → block 7, block 8
1
0
Block 7
207
CallGetIntrinsicValue
Value
208
DebugCheckSelfHosted ← CallGetIntrinsicValue#207
Value
209
Constant undefined
Undefined
210
Constant 0x37
Int32
211
Constant 0x0
Int32
212
Constant string 104289c2e080
String
213
Bail
718
Unreachable
Block 8
216
Constant function IsCallable at 104289c6c7b0
Object
746
Box ← Constant#216
Value
217
DebugCheckSelfHosted ← Box#746
Value
218
Constant undefined
Undefined
219
Constant 0x1
Int32
220
IsCallable ← Lambda#184
Bool
221
Test ← IsCallable#220 → block 10, block 9
1
0
Block 9
222
CallGetIntrinsicValue
Value
223
DebugCheckSelfHosted ← CallGetIntrinsicValue#222
Value
224
Constant undefined
Undefined
225
Constant 0xc
Int32
226
CallGetIntrinsicValue
Value
227
DebugCheckSelfHosted ← CallGetIntrinsicValue#226
Value
228
Constant undefined
Undefined
229
Constant 0x0
Int32
230
Bail
717
Unreachable
Block 10
235
Constant 0x1
Int32
236
Constant 0x1
Int32
237
Compare ← Constant#235, Constant#236 Gt
Bool
238
Test ← Compare#237 → block 11, block 12
1
0
Block 11
239
Constant 0x1
Int32
240
GetInlinedArgument ← Constant#239, Lambda#184
Value
241
Goto → block 13
Block 12
242
Constant undefined
Undefined
747
Box ← Constant#242
Value
243
Goto → block 13
Block 13
244
Phi ← Box#747, GetInlinedArgument#240
Value
245
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
748
Box ← Constant#245
Value
246
DebugCheckSelfHosted ← Box#748
Value
247
Constant undefined
Undefined
248
Constant 0x1
Int32
249
HasShape ← NewArrayObject#153
Bool
250
Test ← HasShape#249 → block 14, block 15
1
0
Block 14
251
Constant function std_Array at 104289c6c820
Object
749
Box ← Constant#251
Value
252
DebugCheckSelfHosted ← Box#749
Value
253
Constant undefined
Undefined
254
Constant 0x1
Int32
255
Unbox DebugCheckSelfHosted#252 to Object (fallible)
Object
256
Constant function std_Array at 104289c6c820
Object
257
GuardSpecificFunction ← Unbox#255, Constant#256
Object
258
NewArrayDynamicLength ← MinMax#202
Object
259
Goto → block 16
Block 15
260
CallGetIntrinsicValue
Value
261
DebugCheckSelfHosted ← CallGetIntrinsicValue#260
Value
262
Constant undefined
Undefined
263
Bail
716
Unreachable
Block 16
267
Constant 0x0
Int32
279
Goto → block 17
Block 17 (loop header)
276
Phi ← Constant#267, Add#324
Int32
734
Constant magic optimized-out
MagicOptimizedOut
280
InterruptCheck
750
Box ← Phi#276
Value
281
Unbox Box#750 to Int32 (fallible)
Int32
751
Box ← MinMax#202
Value
282
Unbox Box#751 to Int32 (fallible)
Int32
283
Compare ← Unbox#281, Unbox#282 Lt
Bool
284
Test ← Compare#283 → block 18, block 24
1
0
Block 18
739
Constant magic optimized-out
MagicOptimizedOut
752
Box ← NewArrayObject#153
Value
285
Unbox Box#752 to Object (fallible)
Object
753
Box ← Phi#276
Value
286
Unbox Box#753 to Int32 (fallible)
Int32
287
GuardShape ← Unbox#285
Object
288
Elements ← GuardShape#287
Elements
289
InitializedLength ← Elements#288
Int32
290
BoundsCheck ← Unbox#286, InitializedLength#289
Int32
291
SpectreMaskIndex ← BoundsCheck#290, InitializedLength#289
Int32
292
GuardElementNotHole ← Elements#288, SpectreMaskIndex#291
293
Constant true
Bool
294
Test ← Constant#293 → block 20, block 19
1
0
Block 19 (split edge)
736
Constant magic optimized-out
MagicOptimizedOut
719
Goto → block 23
Block 20
738
Constant magic optimized-out
MagicOptimizedOut
754
Box ← NewArrayObject#153
Value
295
Unbox Box#754 to Object (fallible)
Object
755
Box ← Phi#276
Value
296
Unbox Box#755 to Int32 (fallible)
Int32
297
GuardShape ← Unbox#295
Object
298
Elements ← GuardShape#297
Elements
299
InitializedLength ← Elements#298
Int32
300
BoundsCheck ← Unbox#296, InitializedLength#299
Int32
301
SpectreMaskIndex ← BoundsCheck#300, InitializedLength#299
Int32
302
GuardElementsArePacked ← Elements#298
303
LoadElement ← Elements#298, SpectreMaskIndex#301
Value
304
Constant 0x3
Int32
756
Box ← Lambda#184
Value
305
Unbox Box#756 to Object (fallible)
Object
306
GuardToFunction ← Unbox#305
Object
307
GuardFunctionScript ← GuardToFunction#306
Object
308
Goto → block 21
Block 21
309
Constant undefined
Undefined
310
Constant 0x2
Int32
311
Unbox LoadElement#303 to Double (fallible)
Double
757
ToDouble ← Constant#310
Double
312
Mul ← Unbox#311, ToDouble#757 [double]
Double
314
Goto → block 22
Block 22
737
Constant magic optimized-out
MagicOptimizedOut
758
Box ← NewArrayDynamicLength#258
Value
315
Unbox Box#758 to Object (fallible)
Object
759
Box ← Phi#276
Value
316
Unbox Box#759 to Int32 (fallible)
Int32
317
GuardShape ← Unbox#315
Object
318
Elements ← GuardShape#317
Elements
319
StoreElementHole ← GuardShape#317, Elements#318, Unbox#316, Mul#312
320
Goto → block 23
Block 23 (backedge)
735
Constant magic optimized-out
MagicOptimizedOut
760
Box ← Phi#276
Value
322
Unbox Box#760 to Int32 (fallible)
Int32
323
Constant 0x1
Int32
324
Add ← Unbox#322, Constant#323 [int32]
Int32
325
Goto → block 17
Block 24
761
Box ← NewArrayDynamicLength#258
Value
328
Unbox Box#761 to Object (fallible)
Object
329
GuardShape ← Unbox#328
Object
330
Constant object 104289c3e088 (Array)
Object
331
Constant function filter (self-hosted:183) at 104289c47970
Object
332
Constant function complex4/< (-e:18) at 104289c63d60
Object
333
Lambda ← FunctionEnvironment#179, Constant#332
Object
334
Constant 0x1
Int32
335
Constant function filter (self-hosted:183) at 104289c47970
Object
336
GuardSpecificFunction ← Constant#331, Constant#335
Object
337
Goto → block 25
Block 25
338
Constant undefined
Undefined
339
Constant function ToObject at 104289c6c740
Object
762
Box ← Constant#339
Value
340
DebugCheckSelfHosted ← Box#762
Value
341
Constant undefined
Undefined
342
Constant 0x1
Int32
763
Box ← NewArrayDynamicLength#258
Value
343
Unbox Box#763 to Object (fallible)
Object
344
Constant function ToLength at 104289c6c778
Object
764
Box ← Constant#344
Value
345
DebugCheckSelfHosted ← Box#764
Value
346
Constant undefined
Undefined
347
GuardShape ← Unbox#343
Object
348
Elements ← GuardShape#347
Elements
349
ArrayLength ← Elements#348
Int32
350
Constant 0x1
Int32
351
Constant 0x0
Int32
352
MinMax ← ArrayLength#349, Constant#351 (max)
Int32
353
Constant 0x1
Int32
354
Constant 0x0
Int32
355
Compare ← Constant#353, Constant#354 StrictEq
Bool
356
Test ← Compare#355 → block 26, block 27
1
0
Block 26
357
CallGetIntrinsicValue
Value
358
DebugCheckSelfHosted ← CallGetIntrinsicValue#357
Value
359
Constant undefined
Undefined
360
Constant 0x37
Int32
361
Constant 0x0
Int32
362
Constant string 104289c28540
String
363
Bail
715
Unreachable
Block 27
366
Constant function IsCallable at 104289c6c7b0
Object
765
Box ← Constant#366
Value
367
DebugCheckSelfHosted ← Box#765
Value
368
Constant undefined
Undefined
369
Constant 0x1
Int32
370
IsCallable ← Lambda#333
Bool
371
Test ← IsCallable#370 → block 29, block 28
1
0
Block 28
372
CallGetIntrinsicValue
Value
373
DebugCheckSelfHosted ← CallGetIntrinsicValue#372
Value
374
Constant undefined
Undefined
375
Constant 0xc
Int32
376
CallGetIntrinsicValue
Value
377
DebugCheckSelfHosted ← CallGetIntrinsicValue#376
Value
378
Constant undefined
Undefined
379
Constant 0x0
Int32
380
Bail
714
Unreachable
Block 29
385
Constant 0x1
Int32
386
Constant 0x1
Int32
387
Compare ← Constant#385, Constant#386 Gt
Bool
388
Test ← Compare#387 → block 30, block 31
1
0
Block 30
389
Constant 0x1
Int32
390
GetInlinedArgument ← Constant#389, Lambda#333
Value
391
Goto → block 32
Block 31
392
Constant undefined
Undefined
766
Box ← Constant#392
Value
393
Goto → block 32
Block 32
394
Phi ← Box#766, GetInlinedArgument#390
Value
395
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
767
Box ← Constant#395
Value
396
DebugCheckSelfHosted ← Box#767
Value
397
Constant undefined
Undefined
398
Constant 0x1
Int32
399
HasShape ← Unbox#343
Bool
400
Test ← HasShape#399 → block 33, block 34
1
0
Block 33
401
Constant shape at 104289c64f00
Shape
402
NewArrayObject ← Constant#401
Object
403
Goto → block 35
Block 34
404
CallGetIntrinsicValue
Value
405
DebugCheckSelfHosted ← CallGetIntrinsicValue#404
Value
406
Constant undefined
Undefined
407
Constant 0x0
Int32
408
Bail
713
Unreachable
Block 35
412
Constant 0x0
Int32
413
Constant 0x0
Int32
426
Goto → block 36
Block 36 (loop header)
422
Phi ← Constant#412, Add#475
Int32
423
Phi ← Constant#413, Phi#471
Int32
729
Constant magic optimized-out
MagicOptimizedOut
427
InterruptCheck
768
Box ← Phi#422
Value
428
Unbox Box#768 to Int32 (fallible)
Int32
769
Box ← MinMax#352
Value
429
Unbox Box#769 to Int32 (fallible)
Int32
430
Compare ← Unbox#428, Unbox#429 Lt
Bool
431
Test ← Compare#430 → block 37, block 45
1
0
Block 37
733
Constant magic optimized-out
MagicOptimizedOut
770
Box ← Unbox#343
Value
432
Unbox Box#770 to Object (fallible)
Object
771
Box ← Phi#422
Value
433
Unbox Box#771 to Int32 (fallible)
Int32
434
GuardShape ← Unbox#432
Object
435
Elements ← GuardShape#434
Elements
436
InitializedLength ← Elements#435
Int32
437
BoundsCheck ← Unbox#433, InitializedLength#436
Int32
438
SpectreMaskIndex ← BoundsCheck#437, InitializedLength#436
Int32
439
GuardElementNotHole ← Elements#435, SpectreMaskIndex#438
440
Constant true
Bool
441
Test ← Constant#440 → block 39, block 38
1
0
Block 38 (split edge)
731
Constant magic optimized-out
MagicOptimizedOut
720
Goto → block 44
Block 39
732
Constant magic optimized-out
MagicOptimizedOut
772
Box ← Unbox#343
Value
442
Unbox Box#772 to Object (fallible)
Object
773
Box ← Phi#422
Value
443
Unbox Box#773 to Int32 (fallible)
Int32
444
GuardShape ← Unbox#442
Object
445
Elements ← GuardShape#444
Elements
446
InitializedLength ← Elements#445
Int32
447
BoundsCheck ← Unbox#443, InitializedLength#446
Int32
448
SpectreMaskIndex ← BoundsCheck#447, InitializedLength#446
Int32
449
GuardElementsArePacked ← Elements#445
450
LoadElement ← Elements#445, SpectreMaskIndex#448
Value
451
Constant 0x3
Int32
774
Box ← Lambda#333
Value
452
Unbox Box#774 to Object (fallible)
Object
453
GuardToFunction ← Unbox#452
Object
454
GuardFunctionScript ← GuardToFunction#453
Object
455
Goto → block 40
Block 40
456
Constant undefined
Undefined
457
Constant 0x32
Int32
458
Unbox LoadElement#450 to Double (fallible)
Double
775
ToDouble ← Constant#457
Double
459
Compare ← Unbox#458, ToDouble#775 Gt
Bool
461
Goto → block 41
Block 41
462
Test ← Compare#459 → block 43, block 42
1
0
Block 42 (split edge)
721
Goto → block 44
Block 43
776
Box ← Phi#423
Value
463
Unbox Box#776 to Int32 (fallible)
Int32
464
Constant 0x1
Int32
465
Add ← Unbox#463, Constant#464 [int32]
Int32
777
Box ← NewArrayObject#402
Value
466
Unbox Box#777 to Object (fallible)
Object
467
GuardShape ← Unbox#466
Object
468
Elements ← GuardShape#467
Elements
469
StoreElementHole ← GuardShape#467, Elements#468, Unbox#463, LoadElement#450
470
Goto → block 44
Block 44 (backedge)
471
Phi ← Add#465, Phi#423, Phi#423
Int32
730
Constant magic optimized-out
MagicOptimizedOut
778
Box ← Phi#422
Value
473
Unbox Box#778 to Int32 (fallible)
Int32
474
Constant 0x1
Int32
475
Add ← Unbox#473, Constant#474 [int32]
Int32
476
Goto → block 36
Block 45
779
Box ← NewArrayObject#402
Value
479
Unbox Box#779 to Object (fallible)
Object
480
GuardShape ← Unbox#479
Object
481
Constant object 104289c3e088 (Array)
Object
482
Constant function reduce (self-hosted:205) at 104289c479c0
Object
483
Constant function complex4/< (-e:18) at 104289c63d98
Object
484
Lambda ← FunctionEnvironment#179, Constant#483
Object
485
Constant 0x0
Int32
486
Constant 0x2
Int32
487
Constant function reduce (self-hosted:205) at 104289c479c0
Object
488
GuardSpecificFunction ← Constant#482, Constant#487
Object
489
Call ← GuardSpecificFunction#488, NewArrayObject#402, Lambda#484, Constant#485
Value
491
Goto → block 46
Block 46
492
Constant object 104289c3f040 (LexicalEnvironment)
Object
493
Constant object 104289c3e030 (global)
Object
494
Constant function complex5 (-e:21) at 104289c6c900
Object
495
Constant undefined
Undefined
496
Constant shape at 104289c64fc0
Shape
497
NewPlainObject ← Constant#496
Object
498
GuardShape ← NewPlainObject#497
Object
499
PostWriteBarrier ← GuardShape#498, Call#112
500
StoreFixedSlot ← GuardShape#498, Call#112 (slot 0)
501
GuardShape ← NewPlainObject#497
Object
502
PostWriteBarrier ← GuardShape#501, BitOr#137
503
StoreFixedSlot ← GuardShape#501, BitOr#137 (slot 1)
504
GuardShape ← NewPlainObject#497
Object
505
PostWriteBarrier ← GuardShape#504, Call#147
506
StoreFixedSlot ← GuardShape#504, Call#147 (slot 2)
507
Constant 0x1
Int32
508
Constant function complex5 (-e:21) at 104289c6c900
Object
509
GuardSpecificFunction ← Constant#494, Constant#508
Object
510
Goto → block 47
Block 47
511
Constant undefined
Undefined
512
FunctionEnvironment ← GuardSpecificFunction#509
Object
513
Constant object 104289c3f078 (Call)
Object
514
NewCallObject ← Constant#513
Object
780
Box ← FunctionEnvironment#512
Value
515
AssertCanElidePostWriteBarrier ← NewCallObject#514, Box#780
781
Box ← GuardSpecificFunction#509
Value
516
AssertCanElidePostWriteBarrier ← NewCallObject#514, Box#781
517
StoreFixedSlot ← NewCallObject#514, FunctionEnvironment#512 (slot 0)
518
StoreFixedSlot ← NewCallObject#514, GuardSpecificFunction#509 (slot 1)
519
PostWriteBarrier ← NewCallObject#514, NewPlainObject#497
520
StoreFixedSlot ← NewCallObject#514, NewPlainObject#497 (slot 2)
521
Constant object 104289c3f040 (LexicalEnvironment)
Object
522
Constant object 104289c3e030 (global)
Object
523
Constant function Object at 104289c422e0
Object
524
Constant function Object at 104289c422e0
Object
525
GuardObjectIdentity ← Constant#523, Constant#524
Object
526
Constant function keys at 104289c42468
Object
527
LoadFixedSlot ← NewCallObject#514 (slot 2)
Value
528
Constant 0x1
Int32
529
Constant function keys at 104289c42468
Object
530
GuardSpecificFunction ← Constant#526, Constant#529
Object
531
Unbox LoadFixedSlot#527 to Object (fallible)
Object
532
GuardIsNotProxy ← Unbox#531
Object
533
ObjectKeys ← GuardIsNotProxy#532
Object
534
GuardShape ← ObjectKeys#533
Object
535
Constant object 104289c3e088 (Array)
Object
536
Constant function map (self-hosted:163) at 104289c47920
Object
537
Constant function complex5/< (-e:22) at 104289c63e08
Object
538
Lambda ← NewCallObject#514, Constant#537
Object
539
Constant 0x1
Int32
540
Constant function map (self-hosted:163) at 104289c47920
Object
541
GuardSpecificFunction ← Constant#536, Constant#540
Object
542
Goto → block 48
Block 48
543
Constant undefined
Undefined
544
Constant function ToObject at 104289c6c740
Object
782
Box ← Constant#544
Value
545
DebugCheckSelfHosted ← Box#782
Value
546
Constant undefined
Undefined
547
Constant 0x1
Int32
548
Constant function ToLength at 104289c6c778
Object
783
Box ← Constant#548
Value
549
DebugCheckSelfHosted ← Box#783
Value
550
Constant undefined
Undefined
551
GuardShape ← ObjectKeys#533
Object
552
Elements ← GuardShape#551
Elements
553
ArrayLength ← Elements#552
Int32
554
Constant 0x1
Int32
555
Constant 0x0
Int32
556
MinMax ← ArrayLength#553, Constant#555 (max)
Int32
557
Constant 0x1
Int32
558
Constant 0x0
Int32
559
Compare ← Constant#557, Constant#558 StrictEq
Bool
560
Test ← Compare#559 → block 49, block 50
1
0
Block 49
561
CallGetIntrinsicValue
Value
562
DebugCheckSelfHosted ← CallGetIntrinsicValue#561
Value
563
Constant undefined
Undefined
564
Constant 0x37
Int32
565
Constant 0x0
Int32
566
Constant string 104289c2e080
String
567
Bail
712
Unreachable
Block 50
570
Constant function IsCallable at 104289c6c7b0
Object
784
Box ← Constant#570
Value
571
DebugCheckSelfHosted ← Box#784
Value
572
Constant undefined
Undefined
573
Constant 0x1
Int32
574
IsCallable ← Lambda#538
Bool
575
Test ← IsCallable#574 → block 52, block 51
1
0
Block 51
576
CallGetIntrinsicValue
Value
577
DebugCheckSelfHosted ← CallGetIntrinsicValue#576
Value
578
Constant undefined
Undefined
579
Constant 0xc
Int32
580
CallGetIntrinsicValue
Value
581
DebugCheckSelfHosted ← CallGetIntrinsicValue#580
Value
582
Constant undefined
Undefined
583
Constant 0x0
Int32
584
Bail
711
Unreachable
Block 52
589
Constant 0x1
Int32
590
Constant 0x1
Int32
591
Compare ← Constant#589, Constant#590 Gt
Bool
592
Test ← Compare#591 → block 53, block 54
1
0
Block 53
593
Constant 0x1
Int32
594
GetInlinedArgument ← Constant#593, Lambda#538
Value
595
Goto → block 55
Block 54
596
Constant undefined
Undefined
785
Box ← Constant#596
Value
597
Goto → block 55
Block 55
598
Phi ← Box#785, GetInlinedArgument#594
Value
599
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
786
Box ← Constant#599
Value
600
DebugCheckSelfHosted ← Box#786
Value
601
Constant undefined
Undefined
602
Constant 0x1
Int32
603
HasShape ← ObjectKeys#533
Bool
604
Test ← HasShape#603 → block 56, block 57
1
0
Block 56
605
Constant function std_Array at 104289c6c820
Object
787
Box ← Constant#605
Value
606
DebugCheckSelfHosted ← Box#787
Value
607
Constant undefined
Undefined
608
Constant 0x1
Int32
609
Unbox DebugCheckSelfHosted#606 to Object (fallible)
Object
610
Constant function std_Array at 104289c6c820
Object
611
GuardSpecificFunction ← Unbox#609, Constant#610
Object
612
NewArrayDynamicLength ← MinMax#556
Object
613
Goto → block 58
Block 57
614
CallGetIntrinsicValue
Value
615
DebugCheckSelfHosted ← CallGetIntrinsicValue#614
Value
616
Constant undefined
Undefined
617
Bail
710
Unreachable
Block 58
621
Constant 0x0
Int32
633
Goto → block 59
Block 59 (loop header)
630
Phi ← Constant#621, Add#679
Int32
723
Constant magic optimized-out
MagicOptimizedOut
634
InterruptCheck
788
Box ← Phi#630
Value
635
Unbox Box#788 to Int32 (fallible)
Int32
789
Box ← MinMax#556
Value
636
Unbox Box#789 to Int32 (fallible)
Int32
637
Compare ← Unbox#635, Unbox#636 Lt
Bool
638
Test ← Compare#637 → block 60, block 66
1
0
Block 60
728
Constant magic optimized-out
MagicOptimizedOut
790
Box ← ObjectKeys#533
Value
639
Unbox Box#790 to Object (fallible)
Object
791
Box ← Phi#630
Value
640
Unbox Box#791 to Int32 (fallible)
Int32
641
GuardShape ← Unbox#639
Object
642
Elements ← GuardShape#641
Elements
643
InitializedLength ← Elements#642
Int32
644
BoundsCheck ← Unbox#640, InitializedLength#643
Int32
645
SpectreMaskIndex ← BoundsCheck#644, InitializedLength#643
Int32
646
GuardElementNotHole ← Elements#642, SpectreMaskIndex#645
647
Constant true
Bool
648
Test ← Constant#647 → block 62, block 61
1
0
Block 61 (split edge)
725
Constant magic optimized-out
MagicOptimizedOut
722
Goto → block 65
Block 62
727
Constant magic optimized-out
MagicOptimizedOut
792
Box ← ObjectKeys#533
Value
649
Unbox Box#792 to Object (fallible)
Object
793
Box ← Phi#630
Value
650
Unbox Box#793 to Int32 (fallible)
Int32
651
GuardShape ← Unbox#649
Object
652
Elements ← GuardShape#651
Elements
653
InitializedLength ← Elements#652
Int32
654
BoundsCheck ← Unbox#650, InitializedLength#653
Int32
655
SpectreMaskIndex ← BoundsCheck#654, InitializedLength#653
Int32
656
GuardElementsArePacked ← Elements#652
657
LoadElement ← Elements#652, SpectreMaskIndex#655
Value
658
Constant 0x3
Int32
794
Box ← Lambda#538
Value
659
Unbox Box#794 to Object (fallible)
Object
660
GuardToFunction ← Unbox#659
Object
661
GuardFunctionScript ← GuardToFunction#660
Object
662
Goto → block 63
Block 63
663
Constant undefined
Undefined
664
FunctionEnvironment ← GuardFunctionScript#661
Object
665
LoadFixedSlot ← FunctionEnvironment#664 (slot 2)
Value
666
Unbox LoadFixedSlot#665 to Object (fallible)
Object
667
MegamorphicLoadSlotByValue ← Unbox#666, LoadElement#657
Value
669
Goto → block 64
Block 64
726
Constant magic optimized-out
MagicOptimizedOut
795
Box ← NewArrayDynamicLength#612
Value
670
Unbox Box#795 to Object (fallible)
Object
796
Box ← Phi#630
Value
671
Unbox Box#796 to Int32 (fallible)
Int32
672
GuardShape ← Unbox#670
Object
673
Elements ← GuardShape#672
Elements
674
StoreElementHole ← GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667
675
Goto → block 65
Block 65 (backedge)
724
Constant magic optimized-out
MagicOptimizedOut
797
Box ← Phi#630
Value
677
Unbox Box#797 to Int32 (fallible)
Int32
678
Constant 0x1
Int32
679
Add ← Unbox#677, Constant#678 [int32]
Int32
680
Goto → block 59
Block 66
798
Box ← NewArrayDynamicLength#612
Value
683
Unbox Box#798 to Object (fallible)
Object
684
GuardShape ← Unbox#683
Object
685
Constant object 104289c3e088 (Array)
Object
686
Constant function reduce (self-hosted:205) at 104289c479c0
Object
687
Constant function complex5/< (-e:22) at 104289c63e40
Object
688
Lambda ← NewCallObject#514, Constant#687
Object
689
Constant 0x0
Int32
690
Constant 0x2
Int32
691
Constant function reduce (self-hosted:205) at 104289c479c0
Object
692
GuardSpecificFunction ← Constant#686, Constant#691
Object
693
Call ← GuardSpecificFunction#692, NewArrayDynamicLength#612, Lambda#688, Constant#689
Value
695
Goto → block 67
Block 67 (backedge)
799
Box ← Phi#95
Value
696
Unbox Box#799 to Int32 (fallible)
Int32
697
Constant 0x1
Int32
698
Add ← Unbox#696, Constant#697 [int32]
Int32
740
Box ← BitOr#137
Value
699
Goto → block 1
Block 68
700
Unbox Phi#88 to Double (fallible)
Double
701
Unbox Phi#89 to Double (fallible)
Double
702
Add ← Unbox#700, Unbox#701 [double]
Double
703
Unbox Phi#90 to Double (fallible)
Double
704
Add ← Add#702, Unbox#703 [double]
Double
705
Unbox Phi#92 to Double (fallible)
Double
706
Add ← Add#704, Unbox#705 [double]
Double
707
Unbox Phi#94 to Double (fallible)
Double
708
Add ← Add#706, Unbox#707 [double]
Double
800
Box ← Add#708
Value
709
Return ← Box#800
Block 0
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant object 104289c3f040 (LexicalEnvironment)
Object
7
Constant object 104289c3e030 (global)
Object
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
9
Constant undefined
Undefined
10
Constant 0x1
Int32
11
Constant function complex1 (-e:2) at 104289c6c8c8
Object
12
GuardSpecificFunction ← Constant#8, Constant#11
Object
13
Call ← GuardSpecificFunction#12, Constant#9, Parameter#1
Value
14
Constant object 104289c3f040 (LexicalEnvironment)
Object
15
Constant object 104289c3e030 (global)
Object
16
Constant function complex2 (-e:7) at 104289c6c970
Object
17
Constant undefined
Undefined
18
Constant 0x1
Int32
19
Constant function complex2 (-e:7) at 104289c6c970
Object
20
GuardSpecificFunction ← Constant#16, Constant#19
Object
21
Call ← GuardSpecificFunction#20, Constant#17, Parameter#1
Value
22
Constant object 104289c3f040 (LexicalEnvironment)
Object
23
Constant object 104289c3e030 (global)
Object
24
Constant function complex3 (-e:11) at 104289c6c938
Object
25
Constant undefined
Undefined
26
Constant 0x2
Int32
27
Constant function complex3 (-e:11) at 104289c6c938
Object
28
GuardSpecificFunction ← Constant#24, Constant#27
Object
29
Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
52
Constant object 104289c3f040 (LexicalEnvironment)
Object
53
Constant object 104289c3e030 (global)
Object
54
Constant function complex4 (-e:17) at 104289c6c890
Object
55
Constant undefined
Undefined
56
Constant 0x1
Int32
57
Constant function complex4 (-e:17) at 104289c6c890
Object
58
GuardSpecificFunction ← Constant#54, Constant#57
Object
59
Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
65
GuardShape ← NewPlainObject#61
Object
66
PostWriteBarrier ← GuardShape#65, Call#21
67
StoreFixedSlot ← GuardShape#65, Call#21 (slot 1)
68
GuardShape ← NewPlainObject#61
Object
69
PostWriteBarrier ← GuardShape#68, Call#29
70
StoreFixedSlot ← GuardShape#68, Call#29 (slot 2)
71
GuardShape ← NewPlainObject#61
Object
72
PostWriteBarrier ← GuardShape#71, Call#59
73
StoreFixedSlot ← GuardShape#71, Call#59 (slot 3)
74
Constant object 104289c3f040 (LexicalEnvironment)
Object
75
Constant object 104289c3e030 (global)
Object
76
Constant function complex5 (-e:21) at 104289c6c900
Object
77
Constant undefined
Undefined
78
Constant 0x1
Int32
79
Constant function complex5 (-e:21) at 104289c6c900
Object
80
GuardSpecificFunction ← Constant#76, Constant#79
Object
81
Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61
Value
82
Constant magic uninitialized-lexical
MagicUninitializedLexical
83
Constant 0x0
Int32
84
Goto → block 1
Block 1 (loop header)
85
Phi ← Call#13, Call#108
Value
86
Phi ← Call#21, Box#710
Value
87
Phi ← Call#29, Call#143
Value
88
Phi ← Call#59, Call#495
Value
89
Phi ← Call#81, Call#704
Value
90
Phi ← Constant#83, Add#709
Int32
91
InterruptCheck
92
Constant 0xa
Int32
93
Box ← Phi#90
Value
94
Unbox Box#93 to Int32 (fallible)
Int32
95
Compare ← Unbox#94, Constant#92 Lt
Bool
96
Test ← Compare#95 → block 2, block 68
1
0
Block 2
97
Constant object 104289c3f040 (LexicalEnvironment)
Object
98
Constant object 104289c3e030 (global)
Object
99
Constant function complex1 (-e:2) at 104289c6c8c8
Object
100
Constant undefined
Undefined
101
Unbox Phi#85 to Double (fallible)
Double
102
Box ← Phi#90
Value
103
Unbox Box#102 to Double (fallible)
Double
104
Add ← Unbox#101, Unbox#103 [double]
Double
105
Constant 0x1
Int32
106
Constant function complex1 (-e:2) at 104289c6c8c8
Object
107
GuardSpecificFunction ← Constant#99, Constant#106
Object
108
Call ← GuardSpecificFunction#107, Constant#100, Add#104
Value
109
Constant object 104289c3f040 (LexicalEnvironment)
Object
110
Constant object 104289c3e030 (global)
Object
111
Constant function complex2 (-e:7) at 104289c6c970
Object
112
Constant undefined
Undefined
113
Unbox Phi#86 to Int32 (fallible)
Int32
114
Box ← Phi#90
Value
115
Unbox Box#114 to Int32 (fallible)
Int32
116
Add ← Unbox#113, Unbox#115 [int32]
Int32
117
Constant 0x1
Int32
118
Constant function complex2 (-e:7) at 104289c6c970
Object
119
GuardSpecificFunction ← Constant#111, Constant#118
Object
120
Goto → block 3
Block 3
121
Constant undefined
Undefined
122
Constant 0x1
Int32
123
Lsh ← Add#116, Constant#122
Int32
124
Constant 0x1
Int32
125
Rsh ← Add#116, Constant#124
Int32
126
Constant 0xff
Int32
127
BitAnd ← Add#116, Constant#126
Int32
128
Constant 0x2
Int32
129
Ursh ← Add#116, Constant#128
Int32
130
Add ← BitAnd#127, Ursh#129 [int32]
Int32
131
BitNot ← Add#116
Int32
132
Sub ← Add#130, BitNot#131 [int32]
Int32
133
BitXor ← Rsh#125, Sub#132
Int32
134
BitOr ← Lsh#123, BitXor#133
Int32
135
Goto → block 4
Block 4
136
Constant object 104289c3f040 (LexicalEnvironment)
Object
137
Constant object 104289c3e030 (global)
Object
138
Constant function complex3 (-e:11) at 104289c6c938
Object
139
Constant undefined
Undefined
140
Constant 0x2
Int32
141
Constant function complex3 (-e:11) at 104289c6c938
Object
142
GuardSpecificFunction ← Constant#138, Constant#141
Object
143
Call ← GuardSpecificFunction#142, Constant#139, Phi#87, Call#108
Value
144
Constant object 104289c3f040 (LexicalEnvironment)
Object
145
Constant object 104289c3e030 (global)
Object
146
Constant function complex4 (-e:17) at 104289c6c890
Object
147
Constant undefined
Undefined
148
Constant shape at 104289c64f00
Shape
149
NewArrayObject ← Constant#148
Object
150
Constant 0x0
Int32
151
Elements ← NewArrayObject#149
Elements
152
PostWriteBarrier ← NewArrayObject#149, Call#108
153
StoreElement ← Elements#151, Constant#150, Call#108
154
SetInitializedLength ← Elements#151, Constant#150
155
Constant 0x1
Int32
156
Elements ← NewArrayObject#149
Elements
157
PostWriteBarrier ← NewArrayObject#149, BitOr#134
158
StoreElement ← Elements#156, Constant#155, BitOr#134
159
SetInitializedLength ← Elements#156, Constant#155
160
Constant 0x2
Int32
161
Elements ← NewArrayObject#149
Elements
162
PostWriteBarrier ← NewArrayObject#149, Call#143
163
StoreElement ← Elements#161, Constant#160, Call#143
164
SetInitializedLength ← Elements#161, Constant#160
165
Constant 0x3
Int32
166
Elements ← NewArrayObject#149
Elements
167
PostWriteBarrier ← NewArrayObject#149, Phi#90
168
StoreElement ← Elements#166, Constant#165, Phi#90
169
SetInitializedLength ← Elements#166, Constant#165
170
Constant 0x1
Int32
171
Constant function complex4 (-e:17) at 104289c6c890
Object
172
GuardSpecificFunction ← Constant#146, Constant#171
Object
173
Goto → block 5
Block 5
174
Constant undefined
Undefined
175
FunctionEnvironment ← GuardSpecificFunction#172
Object
176
GuardShape ← NewArrayObject#149
Object
177
Constant object 104289c3e088 (Array)
Object
178
Constant function map (self-hosted:163) at 104289c47920
Object
179
Constant function complex4/< (-e:18) at 104289c63d28
Object
180
Lambda ← FunctionEnvironment#175, Constant#179
Object
181
Constant 0x1
Int32
182
Constant function map (self-hosted:163) at 104289c47920
Object
183
GuardSpecificFunction ← Constant#178, Constant#182
Object
184
Goto → block 6
Block 6
185
Constant undefined
Undefined
186
Constant function ToObject at 104289c6c740
Object
187
Box ← Constant#186
Value
188
DebugCheckSelfHosted ← Box#187
Value
189
Constant undefined
Undefined
190
Constant 0x1
Int32
191
Constant function ToLength at 104289c6c778
Object
192
Box ← Constant#191
Value
193
DebugCheckSelfHosted ← Box#192
Value
194
Constant undefined
Undefined
195
GuardShape ← NewArrayObject#149
Object
196
Elements ← GuardShape#195
Elements
197
ArrayLength ← Elements#196
Int32
198
Constant 0x1
Int32
199
Constant 0x0
Int32
200
MinMax ← ArrayLength#197, Constant#199 (max)
Int32
201
Constant 0x1
Int32
202
Constant 0x0
Int32
203
Compare ← Constant#201, Constant#202 StrictEq
Bool
204
Test ← Compare#203 → block 7, block 8
1
0
Block 7
205
CallGetIntrinsicValue
Value
206
DebugCheckSelfHosted ← CallGetIntrinsicValue#205
Value
207
Constant undefined
Undefined
208
Constant 0x37
Int32
209
Constant 0x0
Int32
210
Constant string 104289c2e080
String
211
Bail
212
Unreachable
Block 8
213
Constant function IsCallable at 104289c6c7b0
Object
214
Box ← Constant#213
Value
215
DebugCheckSelfHosted ← Box#214
Value
216
Constant undefined
Undefined
217
Constant 0x1
Int32
218
IsCallable ← Lambda#180
Bool
219
Test ← IsCallable#218 → block 10, block 9
1
0
Block 9
220
CallGetIntrinsicValue
Value
221
DebugCheckSelfHosted ← CallGetIntrinsicValue#220
Value
222
Constant undefined
Undefined
223
Constant 0xc
Int32
224
CallGetIntrinsicValue
Value
225
DebugCheckSelfHosted ← CallGetIntrinsicValue#224
Value
226
Constant undefined
Undefined
227
Constant 0x0
Int32
228
Bail
229
Unreachable
Block 10
230
Constant 0x1
Int32
231
Constant 0x1
Int32
232
Compare ← Constant#230, Constant#231 Gt
Bool
233
Test ← Compare#232 → block 11, block 12
1
0
Block 11
234
Constant 0x1
Int32
235
GetInlinedArgument ← Constant#234, Lambda#180
Value
236
Goto → block 13
Block 12
237
Constant undefined
Undefined
238
Box ← Constant#237
Value
239
Goto → block 13
Block 13
240
Phi ← Box#238, GetInlinedArgument#235
Value
241
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
242
Box ← Constant#241
Value
243
DebugCheckSelfHosted ← Box#242
Value
244
Constant undefined
Undefined
245
Constant 0x1
Int32
246
HasShape ← NewArrayObject#149
Bool
247
Test ← HasShape#246 → block 14, block 15
1
0
Block 14
248
Constant function std_Array at 104289c6c820
Object
249
Box ← Constant#248
Value
250
DebugCheckSelfHosted ← Box#249
Value
251
Constant undefined
Undefined
252
Constant 0x1
Int32
253
Unbox DebugCheckSelfHosted#250 to Object (fallible)
Object
254
Constant function std_Array at 104289c6c820
Object
255
GuardSpecificFunction ← Unbox#253, Constant#254
Object
256
NewArrayDynamicLength ← MinMax#200
Object
257
Goto → block 16
Block 15
258
CallGetIntrinsicValue
Value
259
DebugCheckSelfHosted ← CallGetIntrinsicValue#258
Value
260
Constant undefined
Undefined
261
Bail
262
Unreachable
Block 16
263
Constant 0x0
Int32
264
Goto → block 17
Block 17 (loop header)
265
Phi ← Constant#263, Add#326
Int32
266
Constant magic optimized-out
MagicOptimizedOut
267
InterruptCheck
268
Box ← Phi#265
Value
269
Unbox Box#268 to Int32 (fallible)
Int32
270
Box ← MinMax#200
Value
271
Unbox Box#270 to Int32 (fallible)
Int32
272
Compare ← Unbox#269, Unbox#271 Lt
Bool
273
Test ← Compare#272 → block 18, block 24
1
0
Block 18
274
Constant magic optimized-out
MagicOptimizedOut
275
Box ← NewArrayObject#149
Value
276
Unbox Box#275 to Object (fallible)
Object
277
Box ← Phi#265
Value
278
Unbox Box#277 to Int32 (fallible)
Int32
279
GuardShape ← Unbox#276
Object
280
Elements ← GuardShape#279
Elements
281
InitializedLength ← Elements#280
Int32
282
BoundsCheck ← Unbox#278, InitializedLength#281
Int32
283
SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281
Int32
284
GuardElementNotHole ← Elements#280, SpectreMaskIndex#283
285
Constant true
Bool
286
Test ← Constant#285 → block 20, block 19
1
0
Block 19 (split edge)
287
Constant magic optimized-out
MagicOptimizedOut
288
Goto → block 23
Block 20
289
Constant magic optimized-out
MagicOptimizedOut
290
Box ← NewArrayObject#149
Value
291
Unbox Box#290 to Object (fallible)
Object
292
Box ← Phi#265
Value
293
Unbox Box#292 to Int32 (fallible)
Int32
294
GuardShape ← Unbox#291
Object
295
Elements ← GuardShape#294
Elements
296
InitializedLength ← Elements#295
Int32
297
BoundsCheck ← Unbox#293, InitializedLength#296
Int32
298
SpectreMaskIndex ← BoundsCheck#297, InitializedLength#296
Int32
299
GuardElementsArePacked ← Elements#295
300
LoadElement ← Elements#295, SpectreMaskIndex#298
Value
301
Constant 0x3
Int32
302
Box ← Lambda#180
Value
303
Unbox Box#302 to Object (fallible)
Object
304
GuardToFunction ← Unbox#303
Object
305
GuardFunctionScript ← GuardToFunction#304
Object
306
Goto → block 21
Block 21
307
Constant undefined
Undefined
308
Constant 0x2
Int32
309
Unbox LoadElement#300 to Double (fallible)
Double
310
ToDouble ← Constant#308
Double
311
Mul ← Unbox#309, ToDouble#310 [double]
Double
312
Goto → block 22
Block 22
313
Constant magic optimized-out
MagicOptimizedOut
314
Box ← NewArrayDynamicLength#256
Value
315
Unbox Box#314 to Object (fallible)
Object
316
Box ← Phi#265
Value
317
Unbox Box#316 to Int32 (fallible)
Int32
318
GuardShape ← Unbox#315
Object
319
Elements ← GuardShape#318
Elements
320
StoreElementHole ← GuardShape#318, Elements#319, Unbox#317, Mul#311
321
Goto → block 23
Block 23 (backedge)
322
Constant magic optimized-out
MagicOptimizedOut
323
Box ← Phi#265
Value
324
Unbox Box#323 to Int32 (fallible)
Int32
325
Constant 0x1
Int32
326
Add ← Unbox#324, Constant#325 [int32]
Int32
327
Goto → block 17
Block 24
328
Box ← NewArrayDynamicLength#256
Value
329
Unbox Box#328 to Object (fallible)
Object
330
GuardShape ← Unbox#329
Object
331
Constant object 104289c3e088 (Array)
Object
332
Constant function filter (self-hosted:183) at 104289c47970
Object
333
Constant function complex4/< (-e:18) at 104289c63d60
Object
334
Lambda ← FunctionEnvironment#175, Constant#333
Object
335
Constant 0x1
Int32
336
Constant function filter (self-hosted:183) at 104289c47970
Object
337
GuardSpecificFunction ← Constant#332, Constant#336
Object
338
Goto → block 25
Block 25
339
Constant undefined
Undefined
340
Constant function ToObject at 104289c6c740
Object
341
Box ← Constant#340
Value
342
DebugCheckSelfHosted ← Box#341
Value
343
Constant undefined
Undefined
344
Constant 0x1
Int32
345
Box ← NewArrayDynamicLength#256
Value
346
Unbox Box#345 to Object (fallible)
Object
347
Constant function ToLength at 104289c6c778
Object
348
Box ← Constant#347
Value
349
DebugCheckSelfHosted ← Box#348
Value
350
Constant undefined
Undefined
351
GuardShape ← Unbox#346
Object
352
Elements ← GuardShape#351
Elements
353
ArrayLength ← Elements#352
Int32
354
Constant 0x1
Int32
355
Constant 0x0
Int32
356
MinMax ← ArrayLength#353, Constant#355 (max)
Int32
357
Constant 0x1
Int32
358
Constant 0x0
Int32
359
Compare ← Constant#357, Constant#358 StrictEq
Bool
360
Test ← Compare#359 → block 26, block 27
1
0
Block 26
361
CallGetIntrinsicValue
Value
362
DebugCheckSelfHosted ← CallGetIntrinsicValue#361
Value
363
Constant undefined
Undefined
364
Constant 0x37
Int32
365
Constant 0x0
Int32
366
Constant string 104289c28540
String
367
Bail
368
Unreachable
Block 27
369
Constant function IsCallable at 104289c6c7b0
Object
370
Box ← Constant#369
Value
371
DebugCheckSelfHosted ← Box#370
Value
372
Constant undefined
Undefined
373
Constant 0x1
Int32
374
IsCallable ← Lambda#334
Bool
375
Test ← IsCallable#374 → block 29, block 28
1
0
Block 28
376
CallGetIntrinsicValue
Value
377
DebugCheckSelfHosted ← CallGetIntrinsicValue#376
Value
378
Constant undefined
Undefined
379
Constant 0xc
Int32
380
CallGetIntrinsicValue
Value
381
DebugCheckSelfHosted ← CallGetIntrinsicValue#380
Value
382
Constant undefined
Undefined
383
Constant 0x0
Int32
384
Bail
385
Unreachable
Block 29
386
Constant 0x1
Int32
387
Constant 0x1
Int32
388
Compare ← Constant#386, Constant#387 Gt
Bool
389
Test ← Compare#388 → block 30, block 31
1
0
Block 30
390
Constant 0x1
Int32
391
GetInlinedArgument ← Constant#390, Lambda#334
Value
392
Goto → block 32
Block 31
393
Constant undefined
Undefined
394
Box ← Constant#393
Value
395
Goto → block 32
Block 32
396
Phi ← Box#394, GetInlinedArgument#391
Value
397
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
398
Box ← Constant#397
Value
399
DebugCheckSelfHosted ← Box#398
Value
400
Constant undefined
Undefined
401
Constant 0x1
Int32
402
HasShape ← Unbox#346
Bool
403
Test ← HasShape#402 → block 33, block 34
1
0
Block 33
404
Constant shape at 104289c64f00
Shape
405
NewArrayObject ← Constant#404
Object
406
Goto → block 35
Block 34
407
CallGetIntrinsicValue
Value
408
DebugCheckSelfHosted ← CallGetIntrinsicValue#407
Value
409
Constant undefined
Undefined
410
Constant 0x0
Int32
411
Bail
412
Unreachable
Block 35
413
Constant 0x0
Int32
414
Constant 0x0
Int32
415
Goto → block 36
Block 36 (loop header)
416
Phi ← Constant#413, Add#482
Int32
417
Phi ← Constant#414, Phi#477
Int32
418
Constant magic optimized-out
MagicOptimizedOut
419
InterruptCheck
420
Box ← Phi#416
Value
421
Unbox Box#420 to Int32 (fallible)
Int32
422
Box ← MinMax#356
Value
423
Unbox Box#422 to Int32 (fallible)
Int32
424
Compare ← Unbox#421, Unbox#423 Lt
Bool
425
Test ← Compare#424 → block 37, block 45
1
0
Block 37
426
Constant magic optimized-out
MagicOptimizedOut
427
Box ← Unbox#346
Value
428
Unbox Box#427 to Object (fallible)
Object
429
Box ← Phi#416
Value
430
Unbox Box#429 to Int32 (fallible)
Int32
431
GuardShape ← Unbox#428
Object
432
Elements ← GuardShape#431
Elements
433
InitializedLength ← Elements#432
Int32
434
BoundsCheck ← Unbox#430, InitializedLength#433
Int32
435
SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433
Int32
436
GuardElementNotHole ← Elements#432, SpectreMaskIndex#435
437
Constant true
Bool
438
Test ← Constant#437 → block 39, block 38
1
0
Block 38 (split edge)
439
Constant magic optimized-out
MagicOptimizedOut
440
Goto → block 44
Block 39
441
Constant magic optimized-out
MagicOptimizedOut
442
Box ← Unbox#346
Value
443
Unbox Box#442 to Object (fallible)
Object
444
Box ← Phi#416
Value
445
Unbox Box#444 to Int32 (fallible)
Int32
446
GuardShape ← Unbox#443
Object
447
Elements ← GuardShape#446
Elements
448
InitializedLength ← Elements#447
Int32
449
BoundsCheck ← Unbox#445, InitializedLength#448
Int32
450
SpectreMaskIndex ← BoundsCheck#449, InitializedLength#448
Int32
451
GuardElementsArePacked ← Elements#447
452
LoadElement ← Elements#447, SpectreMaskIndex#450
Value
453
Constant 0x3
Int32
454
Box ← Lambda#334
Value
455
Unbox Box#454 to Object (fallible)
Object
456
GuardToFunction ← Unbox#455
Object
457
GuardFunctionScript ← GuardToFunction#456
Object
458
Goto → block 40
Block 40
459
Constant undefined
Undefined
460
Constant 0x32
Int32
461
Unbox LoadElement#452 to Double (fallible)
Double
462
ToDouble ← Constant#460
Double
463
Compare ← Unbox#461, ToDouble#462 Gt
Bool
464
Goto → block 41
Block 41
465
Test ← Compare#463 → block 43, block 42
1
0
Block 42 (split edge)
466
Goto → block 44
Block 43
467
Box ← Phi#417
Value
468
Unbox Box#467 to Int32 (fallible)
Int32
469
Constant 0x1
Int32
470
Add ← Unbox#468, Constant#469 [int32]
Int32
471
Box ← NewArrayObject#405
Value
472
Unbox Box#471 to Object (fallible)
Object
473
GuardShape ← Unbox#472
Object
474
Elements ← GuardShape#473
Elements
475
StoreElementHole ← GuardShape#473, Elements#474, Unbox#468, LoadElement#452
476
Goto → block 44
Block 44 (backedge)
477
Phi ← Add#470, Phi#417, Phi#417
Int32
478
Constant magic optimized-out
MagicOptimizedOut
479
Box ← Phi#416
Value
480
Unbox Box#479 to Int32 (fallible)
Int32
481
Constant 0x1
Int32
482
Add ← Unbox#480, Constant#481 [int32]
Int32
483
Goto → block 36
Block 45
484
Box ← NewArrayObject#405
Value
485
Unbox Box#484 to Object (fallible)
Object
486
GuardShape ← Unbox#485
Object
487
Constant object 104289c3e088 (Array)
Object
488
Constant function reduce (self-hosted:205) at 104289c479c0
Object
489
Constant function complex4/< (-e:18) at 104289c63d98
Object
490
Lambda ← FunctionEnvironment#175, Constant#489
Object
491
Constant 0x0
Int32
492
Constant 0x2
Int32
493
Constant function reduce (self-hosted:205) at 104289c479c0
Object
494
GuardSpecificFunction ← Constant#488, Constant#493
Object
495
Call ← GuardSpecificFunction#494, NewArrayObject#405, Lambda#490, Constant#491
Value
496
Goto → block 46
Block 46
497
Constant object 104289c3f040 (LexicalEnvironment)
Object
498
Constant object 104289c3e030 (global)
Object
499
Constant function complex5 (-e:21) at 104289c6c900
Object
500
Constant undefined
Undefined
501
Constant shape at 104289c64fc0
Shape
502
NewPlainObject ← Constant#501
Object
503
GuardShape ← NewPlainObject#502
Object
504
PostWriteBarrier ← GuardShape#503, Call#108
505
StoreFixedSlot ← GuardShape#503, Call#108 (slot 0)
506
GuardShape ← NewPlainObject#502
Object
507
PostWriteBarrier ← GuardShape#506, BitOr#134
508
StoreFixedSlot ← GuardShape#506, BitOr#134 (slot 1)
509
GuardShape ← NewPlainObject#502
Object
510
PostWriteBarrier ← GuardShape#509, Call#143
511
StoreFixedSlot ← GuardShape#509, Call#143 (slot 2)
512
Constant 0x1
Int32
513
Constant function complex5 (-e:21) at 104289c6c900
Object
514
GuardSpecificFunction ← Constant#499, Constant#513
Object
515
Goto → block 47
Block 47
516
Constant undefined
Undefined
517
FunctionEnvironment ← GuardSpecificFunction#514
Object
518
Constant object 104289c3f078 (Call)
Object
519
NewCallObject ← Constant#518
Object
520
Box ← FunctionEnvironment#517
Value
521
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520
522
Box ← GuardSpecificFunction#514
Value
523
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522
524
StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0)
525
StoreFixedSlot ← NewCallObject#519, GuardSpecificFunction#514 (slot 1)
526
PostWriteBarrier ← NewCallObject#519, NewPlainObject#502
527
StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2)
528
Constant object 104289c3f040 (LexicalEnvironment)
Object
529
Constant object 104289c3e030 (global)
Object
530
Constant function Object at 104289c422e0
Object
531
Constant function Object at 104289c422e0
Object
532
GuardObjectIdentity ← Constant#530, Constant#531
Object
533
Constant function keys at 104289c42468
Object
534
LoadFixedSlot ← NewCallObject#519 (slot 2)
Value
535
Constant 0x1
Int32
536
Constant function keys at 104289c42468
Object
537
GuardSpecificFunction ← Constant#533, Constant#536
Object
538
Unbox LoadFixedSlot#534 to Object (fallible)
Object
539
GuardIsNotProxy ← Unbox#538
Object
540
ObjectKeys ← GuardIsNotProxy#539
Object
541
GuardShape ← ObjectKeys#540
Object
542
Constant object 104289c3e088 (Array)
Object
543
Constant function map (self-hosted:163) at 104289c47920
Object
544
Constant function complex5/< (-e:22) at 104289c63e08
Object
545
Lambda ← NewCallObject#519, Constant#544
Object
546
Constant 0x1
Int32
547
Constant function map (self-hosted:163) at 104289c47920
Object
548
GuardSpecificFunction ← Constant#543, Constant#547
Object
549
Goto → block 48
Block 48
550
Constant undefined
Undefined
551
Constant function ToObject at 104289c6c740
Object
552
Box ← Constant#551
Value
553
DebugCheckSelfHosted ← Box#552
Value
554
Constant undefined
Undefined
555
Constant 0x1
Int32
556
Constant function ToLength at 104289c6c778
Object
557
Box ← Constant#556
Value
558
DebugCheckSelfHosted ← Box#557
Value
559
Constant undefined
Undefined
560
GuardShape ← ObjectKeys#540
Object
561
Elements ← GuardShape#560
Elements
562
ArrayLength ← Elements#561
Int32
563
Constant 0x1
Int32
564
Constant 0x0
Int32
565
MinMax ← ArrayLength#562, Constant#564 (max)
Int32
566
Constant 0x1
Int32
567
Constant 0x0
Int32
568
Compare ← Constant#566, Constant#567 StrictEq
Bool
569
Test ← Compare#568 → block 49, block 50
1
0
Block 49
570
CallGetIntrinsicValue
Value
571
DebugCheckSelfHosted ← CallGetIntrinsicValue#570
Value
572
Constant undefined
Undefined
573
Constant 0x37
Int32
574
Constant 0x0
Int32
575
Constant string 104289c2e080
String
576
Bail
577
Unreachable
Block 50
578
Constant function IsCallable at 104289c6c7b0
Object
579
Box ← Constant#578
Value
580
DebugCheckSelfHosted ← Box#579
Value
581
Constant undefined
Undefined
582
Constant 0x1
Int32
583
IsCallable ← Lambda#545
Bool
584
Test ← IsCallable#583 → block 52, block 51
1
0
Block 51
585
CallGetIntrinsicValue
Value
586
DebugCheckSelfHosted ← CallGetIntrinsicValue#585
Value
587
Constant undefined
Undefined
588
Constant 0xc
Int32
589
CallGetIntrinsicValue
Value
590
DebugCheckSelfHosted ← CallGetIntrinsicValue#589
Value
591
Constant undefined
Undefined
592
Constant 0x0
Int32
593
Bail
594
Unreachable
Block 52
595
Constant 0x1
Int32
596
Constant 0x1
Int32
597
Compare ← Constant#595, Constant#596 Gt
Bool
598
Test ← Compare#597 → block 53, block 54
1
0
Block 53
599
Constant 0x1
Int32
600
GetInlinedArgument ← Constant#599, Lambda#545
Value
601
Goto → block 55
Block 54
602
Constant undefined
Undefined
603
Box ← Constant#602
Value
604
Goto → block 55
Block 55
605
Phi ← Box#603, GetInlinedArgument#600
Value
606
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
607
Box ← Constant#606
Value
608
DebugCheckSelfHosted ← Box#607
Value
609
Constant undefined
Undefined
610
Constant 0x1
Int32
611
HasShape ← ObjectKeys#540
Bool
612
Test ← HasShape#611 → block 56, block 57
1
0
Block 56
613
Constant function std_Array at 104289c6c820
Object
614
Box ← Constant#613
Value
615
DebugCheckSelfHosted ← Box#614
Value
616
Constant undefined
Undefined
617
Constant 0x1
Int32
618
Unbox DebugCheckSelfHosted#615 to Object (fallible)
Object
619
Constant function std_Array at 104289c6c820
Object
620
GuardSpecificFunction ← Unbox#618, Constant#619
Object
621
NewArrayDynamicLength ← MinMax#565
Object
622
Goto → block 58
Block 57
623
CallGetIntrinsicValue
Value
624
DebugCheckSelfHosted ← CallGetIntrinsicValue#623
Value
625
Constant undefined
Undefined
626
Bail
627
Unreachable
Block 58
628
Constant 0x0
Int32
629
Goto → block 59
Block 59 (loop header)
630
Phi ← Constant#628, Add#691
Int32
631
Constant magic optimized-out
MagicOptimizedOut
632
InterruptCheck
633
Box ← Phi#630
Value
634
Unbox Box#633 to Int32 (fallible)
Int32
635
Box ← MinMax#565
Value
636
Unbox Box#635 to Int32 (fallible)
Int32
637
Compare ← Unbox#634, Unbox#636 Lt
Bool
638
Test ← Compare#637 → block 60, block 66
1
0
Block 60
639
Constant magic optimized-out
MagicOptimizedOut
640
Box ← ObjectKeys#540
Value
641
Unbox Box#640 to Object (fallible)
Object
642
Box ← Phi#630
Value
643
Unbox Box#642 to Int32 (fallible)
Int32
644
GuardShape ← Unbox#641
Object
645
Elements ← GuardShape#644
Elements
646
InitializedLength ← Elements#645
Int32
647
BoundsCheck ← Unbox#643, InitializedLength#646
Int32
648
SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646
Int32
649
GuardElementNotHole ← Elements#645, SpectreMaskIndex#648
650
Constant true
Bool
651
Test ← Constant#650 → block 62, block 61
1
0
Block 61 (split edge)
652
Constant magic optimized-out
MagicOptimizedOut
653
Goto → block 65
Block 62
654
Constant magic optimized-out
MagicOptimizedOut
655
Box ← ObjectKeys#540
Value
656
Unbox Box#655 to Object (fallible)
Object
657
Box ← Phi#630
Value
658
Unbox Box#657 to Int32 (fallible)
Int32
659
GuardShape ← Unbox#656
Object
660
Elements ← GuardShape#659
Elements
661
InitializedLength ← Elements#660
Int32
662
BoundsCheck ← Unbox#658, InitializedLength#661
Int32
663
SpectreMaskIndex ← BoundsCheck#662, InitializedLength#661
Int32
664
GuardElementsArePacked ← Elements#660
665
LoadElement ← Elements#660, SpectreMaskIndex#663
Value
666
Constant 0x3
Int32
667
Box ← Lambda#545
Value
668
Unbox Box#667 to Object (fallible)
Object
669
GuardToFunction ← Unbox#668
Object
670
GuardFunctionScript ← GuardToFunction#669
Object
671
Goto → block 63
Block 63
672
Constant undefined
Undefined
673
FunctionEnvironment ← GuardFunctionScript#670
Object
674
LoadFixedSlot ← FunctionEnvironment#673 (slot 2)
Value
675
Unbox LoadFixedSlot#674 to Object (fallible)
Object
676
MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665
Value
677
Goto → block 64
Block 64
678
Constant magic optimized-out
MagicOptimizedOut
679
Box ← NewArrayDynamicLength#621
Value
680
Unbox Box#679 to Object (fallible)
Object
681
Box ← Phi#630
Value
682
Unbox Box#681 to Int32 (fallible)
Int32
683
GuardShape ← Unbox#680
Object
684
Elements ← GuardShape#683
Elements
685
StoreElementHole ← GuardShape#683, Elements#684, Unbox#682, MegamorphicLoadSlotByValue#676
686
Goto → block 65
Block 65 (backedge)
687
Constant magic optimized-out
MagicOptimizedOut
688
Box ← Phi#630
Value
689
Unbox Box#688 to Int32 (fallible)
Int32
690
Constant 0x1
Int32
691
Add ← Unbox#689, Constant#690 [int32]
Int32
692
Goto → block 59
Block 66
693
Box ← NewArrayDynamicLength#621
Value
694
Unbox Box#693 to Object (fallible)
Object
695
GuardShape ← Unbox#694
Object
696
Constant object 104289c3e088 (Array)
Object
697
Constant function reduce (self-hosted:205) at 104289c479c0
Object
698
Constant function complex5/< (-e:22) at 104289c63e40
Object
699
Lambda ← NewCallObject#519, Constant#698
Object
700
Constant 0x0
Int32
701
Constant 0x2
Int32
702
Constant function reduce (self-hosted:205) at 104289c479c0
Object
703
GuardSpecificFunction ← Constant#697, Constant#702
Object
704
Call ← GuardSpecificFunction#703, NewArrayDynamicLength#621, Lambda#699, Constant#700
Value
705
Goto → block 67
Block 67 (backedge)
706
Box ← Phi#90
Value
707
Unbox Box#706 to Int32 (fallible)
Int32
708
Constant 0x1
Int32
709
Add ← Unbox#707, Constant#708 [int32]
Int32
710
Box ← BitOr#134
Value
711
Goto → block 1
Block 68
712
Unbox Phi#85 to Double (fallible)
Double
713
Unbox Phi#86 to Double (fallible)
Double
714
Add ← Unbox#712, Unbox#713 [double]
Double
715
Unbox Phi#87 to Double (fallible)
Double
716
Add ← Add#714, Unbox#715 [double]
Double
717
Unbox Phi#88 to Double (fallible)
Double
718
Add ← Add#716, Unbox#717 [double]
Double
719
Unbox Phi#89 to Double (fallible)
Double
720
Add ← Add#718, Unbox#719 [double]
Double
721
Box ← Add#720
Value
722
Return ← Box#721
Block 0
805
Constant magic optimized-out
MagicOptimizedOut
804
Constant magic optimized-out
MagicOptimizedOut
803
Constant magic optimized-out
MagicOptimizedOut
802
Constant magic optimized-out
MagicOptimizedOut
801
Constant magic optimized-out
MagicOptimizedOut
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant object 104289c3f040 (LexicalEnvironment)
Object
7
Constant object 104289c3e030 (global)
Object
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
9
Constant undefined
Undefined
10
Constant 0x1
Int32
11
Constant function complex1 (-e:2) at 104289c6c8c8
Object
12
GuardSpecificFunction ← Constant#8, Constant#11
Object
13
Call ← GuardSpecificFunction#12, Constant#9, Parameter#1
Value
14
Constant object 104289c3f040 (LexicalEnvironment)
Object
15
Constant object 104289c3e030 (global)
Object
16
Constant function complex2 (-e:7) at 104289c6c970
Object
17
Constant undefined
Undefined
18
Constant 0x1
Int32
19
Constant function complex2 (-e:7) at 104289c6c970
Object
20
GuardSpecificFunction ← Constant#16, Constant#19
Object
21
Call ← GuardSpecificFunction#20, Constant#17, Parameter#1
Value
22
Constant object 104289c3f040 (LexicalEnvironment)
Object
23
Constant object 104289c3e030 (global)
Object
24
Constant function complex3 (-e:11) at 104289c6c938
Object
25
Constant undefined
Undefined
26
Constant 0x2
Int32
27
Constant function complex3 (-e:11) at 104289c6c938
Object
28
GuardSpecificFunction ← Constant#24, Constant#27
Object
29
Call ← GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
52
Constant object 104289c3f040 (LexicalEnvironment)
Object
53
Constant object 104289c3e030 (global)
Object
54
Constant function complex4 (-e:17) at 104289c6c890
Object
55
Constant undefined
Undefined
56
Constant 0x1
Int32
57
Constant function complex4 (-e:17) at 104289c6c890
Object
58
GuardSpecificFunction ← Constant#54, Constant#57
Object
59
Call ← GuardSpecificFunction#58, Constant#55, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
65
GuardShape ← NewPlainObject#61
Object
66
PostWriteBarrier ← GuardShape#65, Call#21
67
StoreFixedSlot ← GuardShape#65, Call#21 (slot 1)
68
GuardShape ← NewPlainObject#61
Object
69
PostWriteBarrier ← GuardShape#68, Call#29
70
StoreFixedSlot ← GuardShape#68, Call#29 (slot 2)
71
GuardShape ← NewPlainObject#61
Object
72
PostWriteBarrier ← GuardShape#71, Call#59
73
StoreFixedSlot ← GuardShape#71, Call#59 (slot 3)
74
Constant object 104289c3f040 (LexicalEnvironment)
Object
75
Constant object 104289c3e030 (global)
Object
76
Constant function complex5 (-e:21) at 104289c6c900
Object
77
Constant undefined
Undefined
78
Constant 0x1
Int32
79
Constant function complex5 (-e:21) at 104289c6c900
Object
80
GuardSpecificFunction ← Constant#76, Constant#79
Object
81
Call ← GuardSpecificFunction#80, Constant#77, NewPlainObject#61
Value
82
Constant magic uninitialized-lexical
MagicUninitializedLexical
83
Constant 0x0
Int32
84
Goto → block 1
Block 1 (loop header)
85
Phi ← Call#13, Call#108
Value
86
Phi ← Call#21, Box#710
Value
87
Phi ← Call#29, Call#143
Value
88
Phi ← Call#59, Call#495
Value
89
Phi ← Call#81, Call#704
Value
90
Phi ← Constant#83, Add#709
Int32
91
InterruptCheck
92
Constant 0xa
Int32
93
Box ← Phi#90
Value
94
Unbox Box#93 to Int32 (fallible)
Int32
95
Compare ← Unbox#94, Constant#92 Lt
Bool
96
Test ← Compare#95 → block 2, block 68
1
0
Block 2
97
Constant object 104289c3f040 (LexicalEnvironment)
Object
98
Constant object 104289c3e030 (global)
Object
99
Constant function complex1 (-e:2) at 104289c6c8c8
Object
100
Constant undefined
Undefined
101
Unbox Phi#85 to Double (fallible)
Double
102
Box ← Phi#90
Value
103
Unbox Box#102 to Double (fallible)
Double
104
Add ← Unbox#101, Unbox#103 [double]
Double
105
Constant 0x1
Int32
106
Constant function complex1 (-e:2) at 104289c6c8c8
Object
107
GuardSpecificFunction ← Constant#99, Constant#106
Object
108
Call ← GuardSpecificFunction#107, Constant#100, Add#104
Value
109
Constant object 104289c3f040 (LexicalEnvironment)
Object
110
Constant object 104289c3e030 (global)
Object
111
Constant function complex2 (-e:7) at 104289c6c970
Object
112
Constant undefined
Undefined
113
Unbox Phi#86 to Int32 (fallible)
Int32
114
Box ← Phi#90
Value
115
Unbox Box#114 to Int32 (fallible)
Int32
116
Add ← Unbox#113, Unbox#115 [int32]
Int32
117
Constant 0x1
Int32
118
Constant function complex2 (-e:7) at 104289c6c970
Object
119
GuardSpecificFunction ← Constant#111, Constant#118
Object
120
Goto → block 3
Block 3
121
Constant undefined
Undefined
122
Constant 0x1
Int32
123
Lsh ← Add#116, Constant#122
Int32
124
Constant 0x1
Int32
125
Rsh ← Add#116, Constant#124
Int32
126
Constant 0xff
Int32
127
BitAnd ← Add#116, Constant#126
Int32
128
Constant 0x2
Int32
129
Ursh ← Add#116, Constant#128
Int32
130
Add ← BitAnd#127, Ursh#129 [int32]
Int32
131
BitNot ← Add#116
Int32
132
Sub ← Add#130, BitNot#131 [int32]
Int32
133
BitXor ← Rsh#125, Sub#132
Int32
134
BitOr ← Lsh#123, BitXor#133
Int32
135
Goto → block 4
Block 4
136
Constant object 104289c3f040 (LexicalEnvironment)
Object
137
Constant object 104289c3e030 (global)
Object
138
Constant function complex3 (-e:11) at 104289c6c938
Object
139
Constant undefined
Undefined
140
Constant 0x2
Int32
141
Constant function complex3 (-e:11) at 104289c6c938
Object
142
GuardSpecificFunction ← Constant#138, Constant#141
Object
143
Call ← GuardSpecificFunction#142, Constant#139, Phi#87, Call#108
Value
144
Constant object 104289c3f040 (LexicalEnvironment)
Object
145
Constant object 104289c3e030 (global)
Object
146
Constant function complex4 (-e:17) at 104289c6c890
Object
147
Constant undefined
Undefined
148
Constant shape at 104289c64f00
Shape
149
NewArrayObject ← Constant#148
Object
150
Constant 0x0
Int32
151
Elements ← NewArrayObject#149
Elements
152
PostWriteBarrier ← NewArrayObject#149, Call#108
153
StoreElement ← Elements#151, Constant#150, Call#108
154
SetInitializedLength ← Elements#151, Constant#150
155
Constant 0x1
Int32
156
Elements ← NewArrayObject#149
Elements
157
PostWriteBarrier ← NewArrayObject#149, BitOr#134
158
StoreElement ← Elements#156, Constant#155, BitOr#134
159
SetInitializedLength ← Elements#156, Constant#155
160
Constant 0x2
Int32
161
Elements ← NewArrayObject#149
Elements
162
PostWriteBarrier ← NewArrayObject#149, Call#143
163
StoreElement ← Elements#161, Constant#160, Call#143
164
SetInitializedLength ← Elements#161, Constant#160
165
Constant 0x3
Int32
166
Elements ← NewArrayObject#149
Elements
167
PostWriteBarrier ← NewArrayObject#149, Phi#90
168
StoreElement ← Elements#166, Constant#165, Phi#90
169
SetInitializedLength ← Elements#166, Constant#165
170
Constant 0x1
Int32
171
Constant function complex4 (-e:17) at 104289c6c890
Object
172
GuardSpecificFunction ← Constant#146, Constant#171
Object
173
Goto → block 5
Block 5
174
Constant undefined
Undefined
175
FunctionEnvironment ← GuardSpecificFunction#172
Object
176
GuardShape ← NewArrayObject#149
Object
177
Constant object 104289c3e088 (Array)
Object
178
Constant function map (self-hosted:163) at 104289c47920
Object
179
Constant function complex4/< (-e:18) at 104289c63d28
Object
180
Lambda ← FunctionEnvironment#175, Constant#179
Object
181
Constant 0x1
Int32
182
Constant function map (self-hosted:163) at 104289c47920
Object
183
GuardSpecificFunction ← Constant#178, Constant#182
Object
184
Goto → block 6
Block 6
185
Constant undefined
Undefined
186
Constant function ToObject at 104289c6c740
Object
187
Box ← Constant#186
Value
188
DebugCheckSelfHosted ← Box#187
Value
189
Constant undefined
Undefined
190
Constant 0x1
Int32
191
Constant function ToLength at 104289c6c778
Object
192
Box ← Constant#191
Value
193
DebugCheckSelfHosted ← Box#192
Value
194
Constant undefined
Undefined
195
GuardShape ← NewArrayObject#149
Object
196
Elements ← GuardShape#195
Elements
197
ArrayLength ← Elements#196
Int32
198
Constant 0x1
Int32
199
Constant 0x0
Int32
200
MinMax ← ArrayLength#197, Constant#199 (max)
Int32
201
Constant 0x1
Int32
202
Constant 0x0
Int32
203
Compare ← Constant#201, Constant#202 StrictEq
Bool
204
Test ← Compare#203 → block 7, block 8
1
0
Block 7
205
CallGetIntrinsicValue
Value
206
DebugCheckSelfHosted ← CallGetIntrinsicValue#205
Value
207
Constant undefined
Undefined
208
Constant 0x37
Int32
209
Constant 0x0
Int32
210
Constant string 104289c2e080
String
211
Bail
212
Unreachable
Block 8
213
Constant function IsCallable at 104289c6c7b0
Object
214
Box ← Constant#213
Value
215
DebugCheckSelfHosted ← Box#214
Value
216
Constant undefined
Undefined
217
Constant 0x1
Int32
218
IsCallable ← Lambda#180
Bool
219
Test ← IsCallable#218 → block 10, block 9
1
0
Block 9
220
CallGetIntrinsicValue
Value
221
DebugCheckSelfHosted ← CallGetIntrinsicValue#220
Value
222
Constant undefined
Undefined
223
Constant 0xc
Int32
224
CallGetIntrinsicValue
Value
225
DebugCheckSelfHosted ← CallGetIntrinsicValue#224
Value
226
Constant undefined
Undefined
227
Constant 0x0
Int32
228
Bail
229
Unreachable
Block 10
230
Constant 0x1
Int32
231
Constant 0x1
Int32
232
Compare ← Constant#230, Constant#231 Gt
Bool
233
Test ← Compare#232 → block 11, block 12
1
0
Block 11
234
Constant 0x1
Int32
235
GetInlinedArgument ← Constant#234, Lambda#180
Value
236
Goto → block 13
Block 12
237
Constant undefined
Undefined
238
Box ← Constant#237
Value
239
Goto → block 13
Block 13
240
Phi ← Box#238, GetInlinedArgument#235
Value
241
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
242
Box ← Constant#241
Value
243
DebugCheckSelfHosted ← Box#242
Value
244
Constant undefined
Undefined
245
Constant 0x1
Int32
246
HasShape ← NewArrayObject#149
Bool
247
Test ← HasShape#246 → block 14, block 15
1
0
Block 14
248
Constant function std_Array at 104289c6c820
Object
249
Box ← Constant#248
Value
250
DebugCheckSelfHosted ← Box#249
Value
251
Constant undefined
Undefined
252
Constant 0x1
Int32
253
Unbox DebugCheckSelfHosted#250 to Object (fallible)
Object
254
Constant function std_Array at 104289c6c820
Object
255
GuardSpecificFunction ← Unbox#253, Constant#254
Object
256
NewArrayDynamicLength ← MinMax#200
Object
257
Goto → block 16
Block 15
258
CallGetIntrinsicValue
Value
259
DebugCheckSelfHosted ← CallGetIntrinsicValue#258
Value
260
Constant undefined
Undefined
261
Bail
262
Unreachable
Block 16
263
Constant 0x0
Int32
264
Goto → block 17
Block 17 (loop header)
265
Phi ← Constant#263, Add#326
Int32
266
Constant magic optimized-out
MagicOptimizedOut
267
InterruptCheck
268
Box ← Phi#265
Value
269
Unbox Box#268 to Int32 (fallible)
Int32
270
Box ← MinMax#200
Value
271
Unbox Box#270 to Int32 (fallible)
Int32
272
Compare ← Unbox#269, Unbox#271 Lt
Bool
273
Test ← Compare#272 → block 18, block 24
1
0
Block 18
274
Constant magic optimized-out
MagicOptimizedOut
275
Box ← NewArrayObject#149
Value
276
Unbox Box#275 to Object (fallible)
Object
277
Box ← Phi#265
Value
278
Unbox Box#277 to Int32 (fallible)
Int32
279
GuardShape ← Unbox#276
Object
280
Elements ← GuardShape#279
Elements
281
InitializedLength ← Elements#280
Int32
282
BoundsCheck ← Unbox#278, InitializedLength#281
Int32
283
SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281
Int32
284
GuardElementNotHole ← Elements#280, SpectreMaskIndex#283
285
Constant true
Bool
286
Test ← Constant#285 → block 20, block 19
1
0
Block 19 (split edge)
287
Constant magic optimized-out
MagicOptimizedOut
288
Goto → block 23
Block 20
289
Constant magic optimized-out
MagicOptimizedOut
290
Box ← NewArrayObject#149
Value
291
Unbox Box#290 to Object (fallible)
Object
292
Box ← Phi#265
Value
293
Unbox Box#292 to Int32 (fallible)
Int32
294
GuardShape ← Unbox#291
Object
295
Elements ← GuardShape#294
Elements
296
InitializedLength ← Elements#295
Int32
297
BoundsCheck ← Unbox#293, InitializedLength#296
Int32
298
SpectreMaskIndex ← BoundsCheck#297, InitializedLength#296
Int32
299
GuardElementsArePacked ← Elements#295
300
LoadElement ← Elements#295, SpectreMaskIndex#298
Value
301
Constant 0x3
Int32
302
Box ← Lambda#180
Value
303
Unbox Box#302 to Object (fallible)
Object
304
GuardToFunction ← Unbox#303
Object
305
GuardFunctionScript ← GuardToFunction#304
Object
306
Goto → block 21
Block 21
307
Constant undefined
Undefined
308
Constant 0x2
Int32
309
Unbox LoadElement#300 to Double (fallible)
Double
310
ToDouble ← Constant#308
Double
311
Mul ← Unbox#309, ToDouble#310 [double]
Double
312
Goto → block 22
Block 22
313
Constant magic optimized-out
MagicOptimizedOut
314
Box ← NewArrayDynamicLength#256
Value
315
Unbox Box#314 to Object (fallible)
Object
316
Box ← Phi#265
Value
317
Unbox Box#316 to Int32 (fallible)
Int32
318
GuardShape ← Unbox#315
Object
319
Elements ← GuardShape#318
Elements
320
StoreElementHole ← GuardShape#318, Elements#319, Unbox#317, Mul#311
321
Goto → block 23
Block 23 (backedge)
322
Constant magic optimized-out
MagicOptimizedOut
323
Box ← Phi#265
Value
324
Unbox Box#323 to Int32 (fallible)
Int32
325
Constant 0x1
Int32
326
Add ← Unbox#324, Constant#325 [int32]
Int32
327
Goto → block 17
Block 24
328
Box ← NewArrayDynamicLength#256
Value
329
Unbox Box#328 to Object (fallible)
Object
330
GuardShape ← Unbox#329
Object
331
Constant object 104289c3e088 (Array)
Object
332
Constant function filter (self-hosted:183) at 104289c47970
Object
333
Constant function complex4/< (-e:18) at 104289c63d60
Object
334
Lambda ← FunctionEnvironment#175, Constant#333
Object
335
Constant 0x1
Int32
336
Constant function filter (self-hosted:183) at 104289c47970
Object
337
GuardSpecificFunction ← Constant#332, Constant#336
Object
338
Goto → block 25
Block 25
339
Constant undefined
Undefined
340
Constant function ToObject at 104289c6c740
Object
341
Box ← Constant#340
Value
342
DebugCheckSelfHosted ← Box#341
Value
343
Constant undefined
Undefined
344
Constant 0x1
Int32
345
Box ← NewArrayDynamicLength#256
Value
346
Unbox Box#345 to Object (fallible)
Object
347
Constant function ToLength at 104289c6c778
Object
348
Box ← Constant#347
Value
349
DebugCheckSelfHosted ← Box#348
Value
350
Constant undefined
Undefined
351
GuardShape ← Unbox#346
Object
352
Elements ← GuardShape#351
Elements
353
ArrayLength ← Elements#352
Int32
354
Constant 0x1
Int32
355
Constant 0x0
Int32
356
MinMax ← ArrayLength#353, Constant#355 (max)
Int32
357
Constant 0x1
Int32
358
Constant 0x0
Int32
359
Compare ← Constant#357, Constant#358 StrictEq
Bool
360
Test ← Compare#359 → block 26, block 27
1
0
Block 26
361
CallGetIntrinsicValue
Value
362
DebugCheckSelfHosted ← CallGetIntrinsicValue#361
Value
363
Constant undefined
Undefined
364
Constant 0x37
Int32
365
Constant 0x0
Int32
366
Constant string 104289c28540
String
367
Bail
368
Unreachable
Block 27
369
Constant function IsCallable at 104289c6c7b0
Object
370
Box ← Constant#369
Value
371
DebugCheckSelfHosted ← Box#370
Value
372
Constant undefined
Undefined
373
Constant 0x1
Int32
374
IsCallable ← Lambda#334
Bool
375
Test ← IsCallable#374 → block 29, block 28
1
0
Block 28
376
CallGetIntrinsicValue
Value
377
DebugCheckSelfHosted ← CallGetIntrinsicValue#376
Value
378
Constant undefined
Undefined
379
Constant 0xc
Int32
380
CallGetIntrinsicValue
Value
381
DebugCheckSelfHosted ← CallGetIntrinsicValue#380
Value
382
Constant undefined
Undefined
383
Constant 0x0
Int32
384
Bail
385
Unreachable
Block 29
386
Constant 0x1
Int32
387
Constant 0x1
Int32
388
Compare ← Constant#386, Constant#387 Gt
Bool
389
Test ← Compare#388 → block 30, block 31
1
0
Block 30
390
Constant 0x1
Int32
391
GetInlinedArgument ← Constant#390, Lambda#334
Value
392
Goto → block 32
Block 31
393
Constant undefined
Undefined
394
Box ← Constant#393
Value
395
Goto → block 32
Block 32
396
Phi ← Box#394, GetInlinedArgument#391
Value
397
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
398
Box ← Constant#397
Value
399
DebugCheckSelfHosted ← Box#398
Value
400
Constant undefined
Undefined
401
Constant 0x1
Int32
402
HasShape ← Unbox#346
Bool
403
Test ← HasShape#402 → block 33, block 34
1
0
Block 33
404
Constant shape at 104289c64f00
Shape
405
NewArrayObject ← Constant#404
Object
406
Goto → block 35
Block 34
407
CallGetIntrinsicValue
Value
408
DebugCheckSelfHosted ← CallGetIntrinsicValue#407
Value
409
Constant undefined
Undefined
410
Constant 0x0
Int32
411
Bail
412
Unreachable
Block 35
413
Constant 0x0
Int32
414
Constant 0x0
Int32
415
Goto → block 36
Block 36 (loop header)
416
Phi ← Constant#413, Add#482
Int32
417
Phi ← Constant#414, Phi#477
Int32
418
Constant magic optimized-out
MagicOptimizedOut
419
InterruptCheck
420
Box ← Phi#416
Value
421
Unbox Box#420 to Int32 (fallible)
Int32
422
Box ← MinMax#356
Value
423
Unbox Box#422 to Int32 (fallible)
Int32
424
Compare ← Unbox#421, Unbox#423 Lt
Bool
425
Test ← Compare#424 → block 37, block 45
1
0
Block 37
426
Constant magic optimized-out
MagicOptimizedOut
427
Box ← Unbox#346
Value
428
Unbox Box#427 to Object (fallible)
Object
429
Box ← Phi#416
Value
430
Unbox Box#429 to Int32 (fallible)
Int32
431
GuardShape ← Unbox#428
Object
432
Elements ← GuardShape#431
Elements
433
InitializedLength ← Elements#432
Int32
434
BoundsCheck ← Unbox#430, InitializedLength#433
Int32
435
SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433
Int32
436
GuardElementNotHole ← Elements#432, SpectreMaskIndex#435
437
Constant true
Bool
438
Test ← Constant#437 → block 39, block 38
1
0
Block 38 (split edge)
439
Constant magic optimized-out
MagicOptimizedOut
440
Goto → block 44
Block 39
441
Constant magic optimized-out
MagicOptimizedOut
442
Box ← Unbox#346
Value
443
Unbox Box#442 to Object (fallible)
Object
444
Box ← Phi#416
Value
445
Unbox Box#444 to Int32 (fallible)
Int32
446
GuardShape ← Unbox#443
Object
447
Elements ← GuardShape#446
Elements
448
InitializedLength ← Elements#447
Int32
449
BoundsCheck ← Unbox#445, InitializedLength#448
Int32
450
SpectreMaskIndex ← BoundsCheck#449, InitializedLength#448
Int32
451
GuardElementsArePacked ← Elements#447
452
LoadElement ← Elements#447, SpectreMaskIndex#450
Value
453
Constant 0x3
Int32
454
Box ← Lambda#334
Value
455
Unbox Box#454 to Object (fallible)
Object
456
GuardToFunction ← Unbox#455
Object
457
GuardFunctionScript ← GuardToFunction#456
Object
458
Goto → block 40
Block 40
459
Constant undefined
Undefined
460
Constant 0x32
Int32
461
Unbox LoadElement#452 to Double (fallible)
Double
462
ToDouble ← Constant#460
Double
463
Compare ← Unbox#461, ToDouble#462 Gt
Bool
464
Goto → block 41
Block 41
465
Test ← Compare#463 → block 43, block 42
1
0
Block 42 (split edge)
466
Goto → block 44
Block 43
467
Box ← Phi#417
Value
468
Unbox Box#467 to Int32 (fallible)
Int32
469
Constant 0x1
Int32
470
Add ← Unbox#468, Constant#469 [int32]
Int32
471
Box ← NewArrayObject#405
Value
472
Unbox Box#471 to Object (fallible)
Object
473
GuardShape ← Unbox#472
Object
474
Elements ← GuardShape#473
Elements
475
StoreElementHole ← GuardShape#473, Elements#474, Unbox#468, LoadElement#452
476
Goto → block 44
Block 44 (backedge)
477
Phi ← Add#470, Phi#417, Phi#417
Int32
478
Constant magic optimized-out
MagicOptimizedOut
479
Box ← Phi#416
Value
480
Unbox Box#479 to Int32 (fallible)
Int32
481
Constant 0x1
Int32
482
Add ← Unbox#480, Constant#481 [int32]
Int32
483
Goto → block 36
Block 45
484
Box ← NewArrayObject#405
Value
485
Unbox Box#484 to Object (fallible)
Object
486
GuardShape ← Unbox#485
Object
487
Constant object 104289c3e088 (Array)
Object
488
Constant function reduce (self-hosted:205) at 104289c479c0
Object
489
Constant function complex4/< (-e:18) at 104289c63d98
Object
490
Lambda ← FunctionEnvironment#175, Constant#489
Object
491
Constant 0x0
Int32
492
Constant 0x2
Int32
493
Constant function reduce (self-hosted:205) at 104289c479c0
Object
494
GuardSpecificFunction ← Constant#488, Constant#493
Object
495
Call ← GuardSpecificFunction#494, NewArrayObject#405, Lambda#490, Constant#491
Value
496
Goto → block 46
Block 46
497
Constant object 104289c3f040 (LexicalEnvironment)
Object
498
Constant object 104289c3e030 (global)
Object
499
Constant function complex5 (-e:21) at 104289c6c900
Object
500
Constant undefined
Undefined
501
Constant shape at 104289c64fc0
Shape
502
NewPlainObject ← Constant#501
Object
503
GuardShape ← NewPlainObject#502
Object
504
PostWriteBarrier ← GuardShape#503, Call#108
505
StoreFixedSlot ← GuardShape#503, Call#108 (slot 0)
506
GuardShape ← NewPlainObject#502
Object
507
PostWriteBarrier ← GuardShape#506, BitOr#134
508
StoreFixedSlot ← GuardShape#506, BitOr#134 (slot 1)
509
GuardShape ← NewPlainObject#502
Object
510
PostWriteBarrier ← GuardShape#509, Call#143
511
StoreFixedSlot ← GuardShape#509, Call#143 (slot 2)
512
Constant 0x1
Int32
513
Constant function complex5 (-e:21) at 104289c6c900
Object
514
GuardSpecificFunction ← Constant#499, Constant#513
Object
515
Goto → block 47
Block 47
516
Constant undefined
Undefined
517
FunctionEnvironment ← GuardSpecificFunction#514
Object
518
Constant object 104289c3f078 (Call)
Object
519
NewCallObject ← Constant#518
Object
520
Box ← FunctionEnvironment#517
Value
521
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520
522
Box ← GuardSpecificFunction#514
Value
523
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522
524
StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0)
525
StoreFixedSlot ← NewCallObject#519, GuardSpecificFunction#514 (slot 1)
526
PostWriteBarrier ← NewCallObject#519, NewPlainObject#502
527
StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2)
528
Constant object 104289c3f040 (LexicalEnvironment)
Object
529
Constant object 104289c3e030 (global)
Object
530
Constant function Object at 104289c422e0
Object
531
Constant function Object at 104289c422e0
Object
532
GuardObjectIdentity ← Constant#530, Constant#531
Object
533
Constant function keys at 104289c42468
Object
534
LoadFixedSlot ← NewCallObject#519 (slot 2)
Value
535
Constant 0x1
Int32
536
Constant function keys at 104289c42468
Object
537
GuardSpecificFunction ← Constant#533, Constant#536
Object
538
Unbox LoadFixedSlot#534 to Object (fallible)
Object
539
GuardIsNotProxy ← Unbox#538
Object
540
ObjectKeys ← GuardIsNotProxy#539
Object
541
GuardShape ← ObjectKeys#540
Object
542
Constant object 104289c3e088 (Array)
Object
543
Constant function map (self-hosted:163) at 104289c47920
Object
544
Constant function complex5/< (-e:22) at 104289c63e08
Object
545
Lambda ← NewCallObject#519, Constant#544
Object
546
Constant 0x1
Int32
547
Constant function map (self-hosted:163) at 104289c47920
Object
548
GuardSpecificFunction ← Constant#543, Constant#547
Object
549
Goto → block 48
Block 48
550
Constant undefined
Undefined
551
Constant function ToObject at 104289c6c740
Object
552
Box ← Constant#551
Value
553
DebugCheckSelfHosted ← Box#552
Value
554
Constant undefined
Undefined
555
Constant 0x1
Int32
556
Constant function ToLength at 104289c6c778
Object
557
Box ← Constant#556
Value
558
DebugCheckSelfHosted ← Box#557
Value
559
Constant undefined
Undefined
560
GuardShape ← ObjectKeys#540
Object
561
Elements ← GuardShape#560
Elements
562
ArrayLength ← Elements#561
Int32
563
Constant 0x1
Int32
564
Constant 0x0
Int32
565
MinMax ← ArrayLength#562, Constant#564 (max)
Int32
566
Constant 0x1
Int32
567
Constant 0x0
Int32
568
Compare ← Constant#566, Constant#567 StrictEq
Bool
569
Test ← Compare#568 → block 49, block 50
1
0
Block 49
570
CallGetIntrinsicValue
Value
571
DebugCheckSelfHosted ← CallGetIntrinsicValue#570
Value
572
Constant undefined
Undefined
573
Constant 0x37
Int32
574
Constant 0x0
Int32
575
Constant string 104289c2e080
String
576
Bail
577
Unreachable
Block 50
578
Constant function IsCallable at 104289c6c7b0
Object
579
Box ← Constant#578
Value
580
DebugCheckSelfHosted ← Box#579
Value
581
Constant undefined
Undefined
582
Constant 0x1
Int32
583
IsCallable ← Lambda#545
Bool
584
Test ← IsCallable#583 → block 52, block 51
1
0
Block 51
585
CallGetIntrinsicValue
Value
586
DebugCheckSelfHosted ← CallGetIntrinsicValue#585
Value
587
Constant undefined
Undefined
588
Constant 0xc
Int32
589
CallGetIntrinsicValue
Value
590
DebugCheckSelfHosted ← CallGetIntrinsicValue#589
Value
591
Constant undefined
Undefined
592
Constant 0x0
Int32
593
Bail
594
Unreachable
Block 52
595
Constant 0x1
Int32
596
Constant 0x1
Int32
597
Compare ← Constant#595, Constant#596 Gt
Bool
598
Test ← Compare#597 → block 53, block 54
1
0
Block 53
599
Constant 0x1
Int32
600
GetInlinedArgument ← Constant#599, Lambda#545
Value
601
Goto → block 55
Block 54
602
Constant undefined
Undefined
603
Box ← Constant#602
Value
604
Goto → block 55
Block 55
605
Phi ← Box#603, GetInlinedArgument#600
Value
606
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
607
Box ← Constant#606
Value
608
DebugCheckSelfHosted ← Box#607
Value
609
Constant undefined
Undefined
610
Constant 0x1
Int32
611
HasShape ← ObjectKeys#540
Bool
612
Test ← HasShape#611 → block 56, block 57
1
0
Block 56
613
Constant function std_Array at 104289c6c820
Object
614
Box ← Constant#613
Value
615
DebugCheckSelfHosted ← Box#614
Value
616
Constant undefined
Undefined
617
Constant 0x1
Int32
618
Unbox DebugCheckSelfHosted#615 to Object (fallible)
Object
619
Constant function std_Array at 104289c6c820
Object
620
GuardSpecificFunction ← Unbox#618, Constant#619
Object
621
NewArrayDynamicLength ← MinMax#565
Object
622
Goto → block 58
Block 57
623
CallGetIntrinsicValue
Value
624
DebugCheckSelfHosted ← CallGetIntrinsicValue#623
Value
625
Constant undefined
Undefined
626
Bail
627
Unreachable
Block 58
628
Constant 0x0
Int32
629
Goto → block 59
Block 59 (loop header)
630
Phi ← Constant#628, Add#691
Int32
631
Constant magic optimized-out
MagicOptimizedOut
632
InterruptCheck
633
Box ← Phi#630
Value
634
Unbox Box#633 to Int32 (fallible)
Int32
635
Box ← MinMax#565
Value
636
Unbox Box#635 to Int32 (fallible)
Int32
637
Compare ← Unbox#634, Unbox#636 Lt
Bool
638
Test ← Compare#637 → block 60, block 66
1
0
Block 60
639
Constant magic optimized-out
MagicOptimizedOut
640
Box ← ObjectKeys#540
Value
641
Unbox Box#640 to Object (fallible)
Object
642
Box ← Phi#630
Value
643
Unbox Box#642 to Int32 (fallible)
Int32
644
GuardShape ← Unbox#641
Object
645
Elements ← GuardShape#644
Elements
646
InitializedLength ← Elements#645
Int32
647
BoundsCheck ← Unbox#643, InitializedLength#646
Int32
648
SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646
Int32
649
GuardElementNotHole ← Elements#645, SpectreMaskIndex#648
650
Constant true
Bool
651
Test ← Constant#650 → block 62, block 61
1
0
Block 61 (split edge)
652
Constant magic optimized-out
MagicOptimizedOut
653
Goto → block 65
Block 62
654
Constant magic optimized-out
MagicOptimizedOut
655
Box ← ObjectKeys#540
Value
656
Unbox Box#655 to Object (fallible)
Object
657
Box ← Phi#630
Value
658
Unbox Box#657 to Int32 (fallible)
Int32
659
GuardShape ← Unbox#656
Object
660
Elements ← GuardShape#659
Elements
661
InitializedLength ← Elements#660
Int32
662
BoundsCheck ← Unbox#658, InitializedLength#661
Int32
663
SpectreMaskIndex ← BoundsCheck#662, InitializedLength#661
Int32
664
GuardElementsArePacked ← Elements#660
665
LoadElement ← Elements#660, SpectreMaskIndex#663
Value
666
Constant 0x3
Int32
667
Box ← Lambda#545
Value
668
Unbox Box#667 to Object (fallible)
Object
669
GuardToFunction ← Unbox#668
Object
670
GuardFunctionScript ← GuardToFunction#669
Object
671
Goto → block 63
Block 63
672
Constant undefined
Undefined
673
FunctionEnvironment ← GuardFunctionScript#670
Object
674
LoadFixedSlot ← FunctionEnvironment#673 (slot 2)
Value
675
Unbox LoadFixedSlot#674 to Object (fallible)
Object
676
MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665
Value
677
Goto → block 64
Block 64
678
Constant magic optimized-out
MagicOptimizedOut
679
Box ← NewArrayDynamicLength#621
Value
680
Unbox Box#679 to Object (fallible)
Object
681
Box ← Phi#630
Value
682
Unbox Box#681 to Int32 (fallible)
Int32
683
GuardShape ← Unbox#680
Object
684
Elements ← GuardShape#683
Elements
685
StoreElementHole ← GuardShape#683, Elements#684, Unbox#682, MegamorphicLoadSlotByValue#676
686
Goto → block 65
Block 65 (backedge)
687
Constant magic optimized-out
MagicOptimizedOut
688
Box ← Phi#630
Value
689
Unbox Box#688 to Int32 (fallible)
Int32
690
Constant 0x1
Int32
691
Add ← Unbox#689, Constant#690 [int32]
Int32
692
Goto → block 59
Block 66
693
Box ← NewArrayDynamicLength#621
Value
694
Unbox Box#693 to Object (fallible)
Object
695
GuardShape ← Unbox#694
Object
696
Constant object 104289c3e088 (Array)
Object
697
Constant function reduce (self-hosted:205) at 104289c479c0
Object
698
Constant function complex5/< (-e:22) at 104289c63e40
Object
699
Lambda ← NewCallObject#519, Constant#698
Object
700
Constant 0x0
Int32
701
Constant 0x2
Int32
702
Constant function reduce (self-hosted:205) at 104289c479c0
Object
703
GuardSpecificFunction ← Constant#697, Constant#702
Object
704
Call ← GuardSpecificFunction#703, NewArrayDynamicLength#621, Lambda#699, Constant#700
Value
705
Goto → block 67
Block 67 (backedge)
706
Box ← Phi#90
Value
707
Unbox Box#706 to Int32 (fallible)
Int32
708
Constant 0x1
Int32
709
Add ← Unbox#707, Constant#708 [int32]
Int32
710
Box ← BitOr#134
Value
711
Goto → block 1
Block 68
712
Unbox Phi#85 to Double (fallible)
Double
713
Unbox Phi#86 to Double (fallible)
Double
714
Add ← Unbox#712, Unbox#713 [double]
Double
715
Unbox Phi#87 to Double (fallible)
Double
716
Add ← Add#714, Unbox#715 [double]
Double
717
Unbox Phi#88 to Double (fallible)
Double
718
Add ← Add#716, Unbox#717 [double]
Double
719
Unbox Phi#89 to Double (fallible)
Double
720
Add ← Add#718, Unbox#719 [double]
Double
721
Box ← Add#720
Value
722
Return ← Box#721
Block 0
805
Constant magic optimized-out
MagicOptimizedOut
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
13
Call ← Constant#8, Constant#2, Parameter#1
Value
16
Constant function complex2 (-e:7) at 104289c6c970
Object
21
Call ← Constant#16, Constant#2, Parameter#1
Value
24
Constant function complex3 (-e:11) at 104289c6c938
Object
29
Call ← Constant#24, Constant#2, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
54
Constant function complex4 (-e:17) at 104289c6c890
Object
59
Call ← Constant#54, Constant#2, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
66
PostWriteBarrier ← GuardShape#62, Call#21
67
StoreFixedSlot ← GuardShape#62, Call#21 (slot 1)
69
PostWriteBarrier ← GuardShape#62, Call#29
70
StoreFixedSlot ← GuardShape#62, Call#29 (slot 2)
72
PostWriteBarrier ← GuardShape#62, Call#59
73
StoreFixedSlot ← GuardShape#62, Call#59 (slot 3)
76
Constant function complex5 (-e:21) at 104289c6c900
Object
81
Call ← Constant#76, Constant#2, NewPlainObject#61
Value
84
Goto → block 1
Block 1 (loop header)
85
Phi ← Call#13, Call#108
Value
86
Phi ← Call#21, Box#710
Value
87
Phi ← Call#29, Call#143
Value
88
Phi ← Call#59, Call#495
Value
89
Phi ← Call#81, Call#704
Value
90
Phi ← Constant#32, Add#709
Int32
91
InterruptCheck
92
Constant 0xa
Int32
95
Compare ← Phi#90, Constant#92 Lt
Bool
96
Test ← Compare#95 → block 2, block 56
1
0
Block 2
101
Unbox Phi#85 to Double (fallible)
Double
806
ToDouble ← Phi#90
Double
104
Add ← Unbox#101, ToDouble#806 [double]
Double
108
Call ← Constant#8, Constant#2, Add#104
Value
113
Unbox Phi#86 to Int32 (fallible)
Int32
116
Add ← Unbox#113, Phi#90 [int32]
Int32
120
Goto → block 3
Block 3
123
Lsh ← Add#116, Constant#37
Int32
125
Rsh ← Add#116, Constant#37
Int32
126
Constant 0xff
Int32
127
BitAnd ← Add#116, Constant#126
Int32
129
Ursh ← Add#116, Constant#42
Int32
130
Add ← BitAnd#127, Ursh#129 [int32]
Int32
131
BitNot ← Add#116
Int32
132
Sub ← Add#130, BitNot#131 [int32]
Int32
133
BitXor ← Rsh#125, Sub#132
Int32
134
BitOr ← Lsh#123, BitXor#133
Int32
135
Goto → block 4
Block 4
143
Call ← Constant#24, Constant#2, Phi#87, Call#108
Value
149
NewArrayObject ← Constant#30
Object
151
Elements ← NewArrayObject#149
Elements
152
PostWriteBarrier ← NewArrayObject#149, Call#108
153
StoreElement ← Elements#151, Constant#32, Call#108
154
SetInitializedLength ← Elements#151, Constant#32
156
Elements ← NewArrayObject#149
Elements
157
PostWriteBarrier ← NewArrayObject#149, BitOr#134
158
StoreElement ← Elements#156, Constant#37, BitOr#134
159
SetInitializedLength ← Elements#156, Constant#37
161
Elements ← NewArrayObject#149
Elements
162
PostWriteBarrier ← NewArrayObject#149, Call#143
163
StoreElement ← Elements#161, Constant#42, Call#143
164
SetInitializedLength ← Elements#161, Constant#42
166
Elements ← NewArrayObject#149
Elements
167
PostWriteBarrier ← NewArrayObject#149, Phi#90
168
StoreElement ← Elements#166, Constant#47, Phi#90
169
SetInitializedLength ← Elements#166, Constant#47
173
Goto → block 5
Block 5
175
FunctionEnvironment ← Constant#54
Object
176
GuardShape ← NewArrayObject#149
Object
178
Constant function map (self-hosted:163) at 104289c47920
Object
179
Constant function complex4/< (-e:18) at 104289c63d28
Object
180
Lambda ← FunctionEnvironment#175, Constant#179
Object
184
Goto → block 6
Block 6
186
Constant function ToObject at 104289c6c740
Object
187
Box ← Constant#186
Value
188
DebugCheckSelfHosted ← Box#187
Value
191
Constant function ToLength at 104289c6c778
Object
192
Box ← Constant#191
Value
193
DebugCheckSelfHosted ← Box#192
Value
195
GuardShape ← NewArrayObject#149
Object
196
Elements ← GuardShape#195
Elements
197
ArrayLength ← Elements#196
Int32
808
Goto → block 7
Block 7
213
Constant function IsCallable at 104289c6c7b0
Object
214
Box ← Constant#213
Value
215
DebugCheckSelfHosted ← Box#214
Value
809
AssertClass ← Lambda#180
811
Goto → block 8
Block 8
813
Goto → block 9
Block 9
238
Box ← Constant#2
Value
239
Goto → block 10
Block 10
241
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
242
Box ← Constant#241
Value
243
DebugCheckSelfHosted ← Box#242
Value
246
HasShape ← NewArrayObject#149
Bool
247
Test ← HasShape#246 → block 11, block 12
1
0
Block 11
248
Constant function std_Array at 104289c6c820
Object
249
Box ← Constant#248
Value
250
DebugCheckSelfHosted ← Box#249
Value
253
Unbox DebugCheckSelfHosted#250 to Object (fallible)
Object
255
GuardSpecificFunction ← Unbox#253, Constant#248
Object
256
NewArrayDynamicLength ← ArrayLength#197
Object
257
Goto → block 13
Block 12
258
CallGetIntrinsicValue
Value
259
DebugCheckSelfHosted ← CallGetIntrinsicValue#258
Value
261
Bail
262
Unreachable
Block 13
264
Goto → block 14
Block 14 (loop header)
265
Phi ← Constant#32, Add#326
Int32
267
InterruptCheck
272
Compare ← Phi#265, ArrayLength#197 Lt
Bool
273
Test ← Compare#272 → block 15, block 20
1
0
Block 15
279
GuardShape ← NewArrayObject#149
Object
280
Elements ← GuardShape#279
Elements
281
InitializedLength ← Elements#280
Int32
282
BoundsCheck ← Phi#265, InitializedLength#281
Int32
283
SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281
Int32
284
GuardElementNotHole ← Elements#280, SpectreMaskIndex#283
814
Goto → block 16
Block 16
299
GuardElementsArePacked ← Elements#280
300
LoadElement ← Elements#280, SpectreMaskIndex#283
Value
815
AssertClass ← Lambda#180
306
Goto → block 17
Block 17
309
Unbox LoadElement#300 to Double (fallible)
Double
816
Constant 2
Double
311
Mul ← Unbox#309, Constant#816 [double]
Double
312
Goto → block 18
Block 18
318
GuardShape ← NewArrayDynamicLength#256
Object
319
Elements ← GuardShape#318
Elements
320
StoreElementHole ← GuardShape#318, Elements#319, Phi#265, Mul#311
321
Goto → block 19
Block 19 (backedge)
326
Add ← Phi#265, Constant#37 [int32]
Int32
327
Goto → block 14
Block 20
330
GuardShape ← NewArrayDynamicLength#256
Object
332
Constant function filter (self-hosted:183) at 104289c47970
Object
333
Constant function complex4/< (-e:18) at 104289c63d60
Object
334
Lambda ← FunctionEnvironment#175, Constant#333
Object
338
Goto → block 21
Block 21
342
DebugCheckSelfHosted ← Box#187
Value
349
DebugCheckSelfHosted ← Box#192
Value
351
GuardShape ← NewArrayDynamicLength#256
Object
352
Elements ← GuardShape#351
Elements
353
ArrayLength ← Elements#352
Int32
818
Goto → block 22
Block 22
371
DebugCheckSelfHosted ← Box#214
Value
819
AssertClass ← Lambda#334
821
Goto → block 23
Block 23
823
Goto → block 24
Block 24
395
Goto → block 25
Block 25
399
DebugCheckSelfHosted ← Box#242
Value
402
HasShape ← NewArrayDynamicLength#256
Bool
403
Test ← HasShape#402 → block 26, block 27
1
0
Block 26
405
NewArrayObject ← Constant#30
Object
406
Goto → block 28
Block 27
407
CallGetIntrinsicValue
Value
408
DebugCheckSelfHosted ← CallGetIntrinsicValue#407
Value
411
Bail
412
Unreachable
Block 28
415
Goto → block 29
Block 29 (loop header)
416
Phi ← Constant#32, Add#482
Int32
417
Phi ← Constant#32, Phi#477
Int32
419
InterruptCheck
424
Compare ← Phi#416, ArrayLength#353 Lt
Bool
425
Test ← Compare#424 → block 30, block 37
1
0
Block 30
431
GuardShape ← NewArrayDynamicLength#256
Object
432
Elements ← GuardShape#431
Elements
433
InitializedLength ← Elements#432
Int32
434
BoundsCheck ← Phi#416, InitializedLength#433
Int32
435
SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433
Int32
436
GuardElementNotHole ← Elements#432, SpectreMaskIndex#435
824
Goto → block 31
Block 31
451
GuardElementsArePacked ← Elements#432
452
LoadElement ← Elements#432, SpectreMaskIndex#435
Value
825
AssertClass ← Lambda#334
458
Goto → block 32
Block 32
461
Unbox LoadElement#452 to Double (fallible)
Double
826
Constant 50
Double
463
Compare ← Unbox#461, Constant#826 Gt
Bool
464
Goto → block 33
Block 33
465
Test ← Compare#463 → block 35, block 34
1
0
Block 34 (split edge)
466
Goto → block 36
Block 35
470
Add ← Phi#417, Constant#37 [int32]
Int32
473
GuardShape ← NewArrayObject#405
Object
474
Elements ← GuardShape#473
Elements
475
StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452
476
Goto → block 36
Block 36 (backedge)
477
Phi ← Add#470, Phi#417
Int32
482
Add ← Phi#416, Constant#37 [int32]
Int32
483
Goto → block 29
Block 37
486
GuardShape ← NewArrayObject#405
Object
488
Constant function reduce (self-hosted:205) at 104289c479c0
Object
489
Constant function complex4/< (-e:18) at 104289c63d98
Object
490
Lambda ← FunctionEnvironment#175, Constant#489
Object
495
Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32
Value
496
Goto → block 38
Block 38
501
Constant shape at 104289c64fc0
Shape
502
NewPlainObject ← Constant#501
Object
503
GuardShape ← NewPlainObject#502
Object
504
PostWriteBarrier ← GuardShape#503, Call#108
505
StoreFixedSlot ← GuardShape#503, Call#108 (slot 0)
507
PostWriteBarrier ← GuardShape#503, BitOr#134
508
StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1)
510
PostWriteBarrier ← GuardShape#503, Call#143
511
StoreFixedSlot ← GuardShape#503, Call#143 (slot 2)
515
Goto → block 39
Block 39
517
FunctionEnvironment ← Constant#76
Object
518
Constant object 104289c3f078 (Call)
Object
519
NewCallObject ← Constant#518
Object
520
Box ← FunctionEnvironment#517
Value
521
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520
522
Box ← Constant#76
Value
523
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522
524
StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0)
525
StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1)
526
PostWriteBarrier ← NewCallObject#519, NewPlainObject#502
527
StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2)
828
AssertClass ← NewPlainObject#502
540
ObjectKeys ← NewPlainObject#502
Object
541
GuardShape ← ObjectKeys#540
Object
544
Constant function complex5/< (-e:22) at 104289c63e08
Object
545
Lambda ← NewCallObject#519, Constant#544
Object
549
Goto → block 40
Block 40
553
DebugCheckSelfHosted ← Box#187
Value
558
DebugCheckSelfHosted ← Box#192
Value
560
GuardShape ← ObjectKeys#540
Object
561
Elements ← GuardShape#560
Elements
562
ArrayLength ← Elements#561
Int32
830
Goto → block 41
Block 41
580
DebugCheckSelfHosted ← Box#214
Value
831
AssertClass ← Lambda#545
833
Goto → block 42
Block 42
835
Goto → block 43
Block 43
604
Goto → block 44
Block 44
608
DebugCheckSelfHosted ← Box#242
Value
611
HasShape ← ObjectKeys#540
Bool
612
Test ← HasShape#611 → block 45, block 46
1
0
Block 45
615
DebugCheckSelfHosted ← Box#249
Value
618
Unbox DebugCheckSelfHosted#615 to Object (fallible)
Object
620
GuardSpecificFunction ← Unbox#618, Constant#248
Object
621
NewArrayDynamicLength ← ArrayLength#562
Object
622
Goto → block 47
Block 46
623
CallGetIntrinsicValue
Value
624
DebugCheckSelfHosted ← CallGetIntrinsicValue#623
Value
626
Bail
627
Unreachable
Block 47
629
Goto → block 48
Block 48 (loop header)
630
Phi ← Constant#32, Add#691
Int32
632
InterruptCheck
637
Compare ← Phi#630, ArrayLength#562 Lt
Bool
638
Test ← Compare#637 → block 49, block 54
1
0
Block 49
644
GuardShape ← ObjectKeys#540
Object
645
Elements ← GuardShape#644
Elements
646
InitializedLength ← Elements#645
Int32
647
BoundsCheck ← Phi#630, InitializedLength#646
Int32
648
SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646
Int32
649
GuardElementNotHole ← Elements#645, SpectreMaskIndex#648
836
Goto → block 50
Block 50
664
GuardElementsArePacked ← Elements#645
665
LoadElement ← Elements#645, SpectreMaskIndex#648
Value
837
AssertClass ← Lambda#545
671
Goto → block 51
Block 51
674
LoadFixedSlot ← NewCallObject#519 (slot 2)
Value
675
Unbox LoadFixedSlot#674 to Object (fallible)
Object
676
MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665
Value
677
Goto → block 52
Block 52
683
GuardShape ← NewArrayDynamicLength#621
Object
684
Elements ← GuardShape#683
Elements
685
StoreElementHole ← GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676
686
Goto → block 53
Block 53 (backedge)
691
Add ← Phi#630, Constant#37 [int32]
Int32
692
Goto → block 48
Block 54
695
GuardShape ← NewArrayDynamicLength#621
Object
698
Constant function complex5/< (-e:22) at 104289c63e40
Object
699
Lambda ← NewCallObject#519, Constant#698
Object
704
Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32
Value
705
Goto → block 55
Block 55 (backedge)
709
Add ← Phi#90, Constant#37 [int32]
Int32
710
Box ← BitOr#134
Value
711
Goto → block 1
Block 56
712
Unbox Phi#85 to Double (fallible)
Double
713
Unbox Phi#86 to Double (fallible)
Double
714
Add ← Unbox#712, Unbox#713 [double]
Double
715
Unbox Phi#87 to Double (fallible)
Double
716
Add ← Add#714, Unbox#715 [double]
Double
717
Unbox Phi#88 to Double (fallible)
Double
718
Add ← Add#716, Unbox#717 [double]
Double
719
Unbox Phi#89 to Double (fallible)
Double
720
Add ← Add#718, Unbox#719 [double]
Double
721
Box ← Add#720
Value
722
Return ← Box#721
Block 0
805
Constant magic optimized-out
MagicOptimizedOut
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
13
Call ← Constant#8, Constant#2, Parameter#1
Value
16
Constant function complex2 (-e:7) at 104289c6c970
Object
21
Call ← Constant#16, Constant#2, Parameter#1
Value
24
Constant function complex3 (-e:11) at 104289c6c938
Object
29
Call ← Constant#24, Constant#2, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
54
Constant function complex4 (-e:17) at 104289c6c890
Object
59
Call ← Constant#54, Constant#2, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
66
PostWriteBarrier ← GuardShape#62, Call#21
67
StoreFixedSlot ← GuardShape#62, Call#21 (slot 1)
69
PostWriteBarrier ← GuardShape#62, Call#29
70
StoreFixedSlot ← GuardShape#62, Call#29 (slot 2)
72
PostWriteBarrier ← GuardShape#62, Call#59
73
StoreFixedSlot ← GuardShape#62, Call#59 (slot 3)
76
Constant function complex5 (-e:21) at 104289c6c900
Object
81
Call ← Constant#76, Constant#2, NewPlainObject#61
Value
175
FunctionEnvironment ← Constant#54
Object
517
FunctionEnvironment ← Constant#76
Object
84
Goto → block 1
Block 1 (loop header)
85
Phi ← Call#13, Call#108
Value
86
Phi ← Call#21, Box#710
Value
87
Phi ← Call#29, Call#143
Value
88
Phi ← Call#59, Call#495
Value
89
Phi ← Call#81, Call#704
Value
90
Phi ← Constant#32, Add#709
Int32
91
InterruptCheck
92
Constant 0xa
Int32
95
Compare ← Phi#90, Constant#92 Lt
Bool
96
Test ← Compare#95 → block 2, block 56
1
0
Block 2
101
Unbox Phi#85 to Double (fallible)
Double
806
ToDouble ← Phi#90
Double
104
Add ← Unbox#101, ToDouble#806 [double]
Double
108
Call ← Constant#8, Constant#2, Add#104
Value
113
Unbox Phi#86 to Int32 (fallible)
Int32
116
Add ← Unbox#113, Phi#90 [int32]
Int32
120
Goto → block 3
Block 3
123
Lsh ← Add#116, Constant#37
Int32
125
Rsh ← Add#116, Constant#37
Int32
126
Constant 0xff
Int32
127
BitAnd ← Add#116, Constant#126
Int32
129
Ursh ← Add#116, Constant#42
Int32
130
Add ← BitAnd#127, Ursh#129 [int32]
Int32
131
BitNot ← Add#116
Int32
132
Sub ← Add#130, BitNot#131 [int32]
Int32
133
BitXor ← Rsh#125, Sub#132
Int32
134
BitOr ← Lsh#123, BitXor#133
Int32
135
Goto → block 4
Block 4
143
Call ← Constant#24, Constant#2, Phi#87, Call#108
Value
149
NewArrayObject ← Constant#30
Object
151
Elements ← NewArrayObject#149
Elements
152
PostWriteBarrier ← NewArrayObject#149, Call#108
153
StoreElement ← Elements#151, Constant#32, Call#108
154
SetInitializedLength ← Elements#151, Constant#32
156
Elements ← NewArrayObject#149
Elements
157
PostWriteBarrier ← NewArrayObject#149, BitOr#134
158
StoreElement ← Elements#156, Constant#37, BitOr#134
159
SetInitializedLength ← Elements#156, Constant#37
161
Elements ← NewArrayObject#149
Elements
162
PostWriteBarrier ← NewArrayObject#149, Call#143
163
StoreElement ← Elements#161, Constant#42, Call#143
164
SetInitializedLength ← Elements#161, Constant#42
166
Elements ← NewArrayObject#149
Elements
167
PostWriteBarrier ← NewArrayObject#149, Phi#90
168
StoreElement ← Elements#166, Constant#47, Phi#90
169
SetInitializedLength ← Elements#166, Constant#47
173
Goto → block 5
Block 5
176
GuardShape ← NewArrayObject#149
Object
178
Constant function map (self-hosted:163) at 104289c47920
Object
179
Constant function complex4/< (-e:18) at 104289c63d28
Object
180
Lambda ← FunctionEnvironment#175, Constant#179
Object
184
Goto → block 6
Block 6
186
Constant function ToObject at 104289c6c740
Object
187
Box ← Constant#186
Value
188
DebugCheckSelfHosted ← Box#187
Value
191
Constant function ToLength at 104289c6c778
Object
192
Box ← Constant#191
Value
193
DebugCheckSelfHosted ← Box#192
Value
195
GuardShape ← NewArrayObject#149
Object
196
Elements ← GuardShape#195
Elements
197
ArrayLength ← Elements#196
Int32
808
Goto → block 7
Block 7
213
Constant function IsCallable at 104289c6c7b0
Object
214
Box ← Constant#213
Value
215
DebugCheckSelfHosted ← Box#214
Value
809
AssertClass ← Lambda#180
811
Goto → block 8
Block 8
813
Goto → block 9
Block 9
238
Box ← Constant#2
Value
239
Goto → block 10
Block 10
241
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
242
Box ← Constant#241
Value
243
DebugCheckSelfHosted ← Box#242
Value
246
HasShape ← NewArrayObject#149
Bool
247
Test ← HasShape#246 → block 11, block 12
1
0
Block 11
248
Constant function std_Array at 104289c6c820
Object
249
Box ← Constant#248
Value
250
DebugCheckSelfHosted ← Box#249
Value
253
Unbox DebugCheckSelfHosted#250 to Object (fallible)
Object
255
GuardSpecificFunction ← Unbox#253, Constant#248
Object
256
NewArrayDynamicLength ← ArrayLength#197
Object
257
Goto → block 13
Block 12
258
CallGetIntrinsicValue
Value
259
DebugCheckSelfHosted ← CallGetIntrinsicValue#258
Value
261
Bail
262
Unreachable
Block 13
279
GuardShape ← NewArrayObject#149
Object
816
Constant 2
Double
318
GuardShape ← NewArrayDynamicLength#256
Object
264
Goto → block 14
Block 14 (loop header)
265
Phi ← Constant#32, Add#326
Int32
267
InterruptCheck
272
Compare ← Phi#265, ArrayLength#197 Lt
Bool
273
Test ← Compare#272 → block 15, block 20
1
0
Block 15
280
Elements ← GuardShape#279
Elements
281
InitializedLength ← Elements#280
Int32
282
BoundsCheck ← Phi#265, InitializedLength#281
Int32
283
SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281
Int32
284
GuardElementNotHole ← Elements#280, SpectreMaskIndex#283
814
Goto → block 16
Block 16
299
GuardElementsArePacked ← Elements#280
300
LoadElement ← Elements#280, SpectreMaskIndex#283
Value
815
AssertClass ← Lambda#180
306
Goto → block 17
Block 17
309
Unbox LoadElement#300 to Double (fallible)
Double
311
Mul ← Unbox#309, Constant#816 [double]
Double
312
Goto → block 18
Block 18
319
Elements ← GuardShape#318
Elements
320
StoreElementHole ← GuardShape#318, Elements#319, Phi#265, Mul#311
321
Goto → block 19
Block 19 (backedge)
326
Add ← Phi#265, Constant#37 [int32]
Int32
327
Goto → block 14
Block 20
330
GuardShape ← NewArrayDynamicLength#256
Object
332
Constant function filter (self-hosted:183) at 104289c47970
Object
333
Constant function complex4/< (-e:18) at 104289c63d60
Object
334
Lambda ← FunctionEnvironment#175, Constant#333
Object
338
Goto → block 21
Block 21
342
DebugCheckSelfHosted ← Box#187
Value
349
DebugCheckSelfHosted ← Box#192
Value
351
GuardShape ← NewArrayDynamicLength#256
Object
352
Elements ← GuardShape#351
Elements
353
ArrayLength ← Elements#352
Int32
818
Goto → block 22
Block 22
371
DebugCheckSelfHosted ← Box#214
Value
819
AssertClass ← Lambda#334
821
Goto → block 23
Block 23
823
Goto → block 24
Block 24
395
Goto → block 25
Block 25
399
DebugCheckSelfHosted ← Box#242
Value
402
HasShape ← NewArrayDynamicLength#256
Bool
403
Test ← HasShape#402 → block 26, block 27
1
0
Block 26
405
NewArrayObject ← Constant#30
Object
406
Goto → block 28
Block 27
407
CallGetIntrinsicValue
Value
408
DebugCheckSelfHosted ← CallGetIntrinsicValue#407
Value
411
Bail
412
Unreachable
Block 28
431
GuardShape ← NewArrayDynamicLength#256
Object
826
Constant 50
Double
473
GuardShape ← NewArrayObject#405
Object
415
Goto → block 29
Block 29 (loop header)
416
Phi ← Constant#32, Add#482
Int32
417
Phi ← Constant#32, Phi#477
Int32
419
InterruptCheck
424
Compare ← Phi#416, ArrayLength#353 Lt
Bool
425
Test ← Compare#424 → block 30, block 37
1
0
Block 30
432
Elements ← GuardShape#431
Elements
433
InitializedLength ← Elements#432
Int32
434
BoundsCheck ← Phi#416, InitializedLength#433
Int32
435
SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433
Int32
436
GuardElementNotHole ← Elements#432, SpectreMaskIndex#435
824
Goto → block 31
Block 31
451
GuardElementsArePacked ← Elements#432
452
LoadElement ← Elements#432, SpectreMaskIndex#435
Value
825
AssertClass ← Lambda#334
458
Goto → block 32
Block 32
461
Unbox LoadElement#452 to Double (fallible)
Double
463
Compare ← Unbox#461, Constant#826 Gt
Bool
464
Goto → block 33
Block 33
465
Test ← Compare#463 → block 35, block 34
1
0
Block 34 (split edge)
466
Goto → block 36
Block 35
470
Add ← Phi#417, Constant#37 [int32]
Int32
474
Elements ← GuardShape#473
Elements
475
StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452
476
Goto → block 36
Block 36 (backedge)
477
Phi ← Add#470, Phi#417
Int32
482
Add ← Phi#416, Constant#37 [int32]
Int32
483
Goto → block 29
Block 37
486
GuardShape ← NewArrayObject#405
Object
488
Constant function reduce (self-hosted:205) at 104289c479c0
Object
489
Constant function complex4/< (-e:18) at 104289c63d98
Object
490
Lambda ← FunctionEnvironment#175, Constant#489
Object
495
Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32
Value
496
Goto → block 38
Block 38
501
Constant shape at 104289c64fc0
Shape
502
NewPlainObject ← Constant#501
Object
503
GuardShape ← NewPlainObject#502
Object
504
PostWriteBarrier ← GuardShape#503, Call#108
505
StoreFixedSlot ← GuardShape#503, Call#108 (slot 0)
507
PostWriteBarrier ← GuardShape#503, BitOr#134
508
StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1)
510
PostWriteBarrier ← GuardShape#503, Call#143
511
StoreFixedSlot ← GuardShape#503, Call#143 (slot 2)
515
Goto → block 39
Block 39
518
Constant object 104289c3f078 (Call)
Object
519
NewCallObject ← Constant#518
Object
520
Box ← FunctionEnvironment#517
Value
521
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520
522
Box ← Constant#76
Value
523
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522
524
StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0)
525
StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1)
526
PostWriteBarrier ← NewCallObject#519, NewPlainObject#502
527
StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2)
828
AssertClass ← NewPlainObject#502
540
ObjectKeys ← NewPlainObject#502
Object
541
GuardShape ← ObjectKeys#540
Object
544
Constant function complex5/< (-e:22) at 104289c63e08
Object
545
Lambda ← NewCallObject#519, Constant#544
Object
549
Goto → block 40
Block 40
553
DebugCheckSelfHosted ← Box#187
Value
558
DebugCheckSelfHosted ← Box#192
Value
560
GuardShape ← ObjectKeys#540
Object
561
Elements ← GuardShape#560
Elements
562
ArrayLength ← Elements#561
Int32
830
Goto → block 41
Block 41
580
DebugCheckSelfHosted ← Box#214
Value
831
AssertClass ← Lambda#545
833
Goto → block 42
Block 42
835
Goto → block 43
Block 43
604
Goto → block 44
Block 44
608
DebugCheckSelfHosted ← Box#242
Value
611
HasShape ← ObjectKeys#540
Bool
612
Test ← HasShape#611 → block 45, block 46
1
0
Block 45
615
DebugCheckSelfHosted ← Box#249
Value
618
Unbox DebugCheckSelfHosted#615 to Object (fallible)
Object
620
GuardSpecificFunction ← Unbox#618, Constant#248
Object
621
NewArrayDynamicLength ← ArrayLength#562
Object
622
Goto → block 47
Block 46
623
CallGetIntrinsicValue
Value
624
DebugCheckSelfHosted ← CallGetIntrinsicValue#623
Value
626
Bail
627
Unreachable
Block 47
644
GuardShape ← ObjectKeys#540
Object
674
LoadFixedSlot ← NewCallObject#519 (slot 2)
Value
675
Unbox LoadFixedSlot#674 to Object (fallible)
Object
683
GuardShape ← NewArrayDynamicLength#621
Object
629
Goto → block 48
Block 48 (loop header)
630
Phi ← Constant#32, Add#691
Int32
632
InterruptCheck
637
Compare ← Phi#630, ArrayLength#562 Lt
Bool
638
Test ← Compare#637 → block 49, block 54
1
0
Block 49
645
Elements ← GuardShape#644
Elements
646
InitializedLength ← Elements#645
Int32
647
BoundsCheck ← Phi#630, InitializedLength#646
Int32
648
SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646
Int32
649
GuardElementNotHole ← Elements#645, SpectreMaskIndex#648
836
Goto → block 50
Block 50
664
GuardElementsArePacked ← Elements#645
665
LoadElement ← Elements#645, SpectreMaskIndex#648
Value
837
AssertClass ← Lambda#545
671
Goto → block 51
Block 51
676
MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665
Value
677
Goto → block 52
Block 52
684
Elements ← GuardShape#683
Elements
685
StoreElementHole ← GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676
686
Goto → block 53
Block 53 (backedge)
691
Add ← Phi#630, Constant#37 [int32]
Int32
692
Goto → block 48
Block 54
695
GuardShape ← NewArrayDynamicLength#621
Object
698
Constant function complex5/< (-e:22) at 104289c63e40
Object
699
Lambda ← NewCallObject#519, Constant#698
Object
704
Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32
Value
705
Goto → block 55
Block 55 (backedge)
709
Add ← Phi#90, Constant#37 [int32]
Int32
710
Box ← BitOr#134
Value
711
Goto → block 1
Block 56
712
Unbox Phi#85 to Double (fallible)
Double
713
Unbox Phi#86 to Double (fallible)
Double
714
Add ← Unbox#712, Unbox#713 [double]
Double
715
Unbox Phi#87 to Double (fallible)
Double
716
Add ← Add#714, Unbox#715 [double]
Double
717
Unbox Phi#88 to Double (fallible)
Double
718
Add ← Add#716, Unbox#717 [double]
Double
719
Unbox Phi#89 to Double (fallible)
Double
720
Add ← Add#718, Unbox#719 [double]
Double
721
Box ← Add#720
Value
722
Return ← Box#721
Block 0
805
Constant magic optimized-out
MagicOptimizedOut
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
13
Call ← Constant#8, Constant#2, Parameter#1
Value
16
Constant function complex2 (-e:7) at 104289c6c970
Object
21
Call ← Constant#16, Constant#2, Parameter#1
Value
24
Constant function complex3 (-e:11) at 104289c6c938
Object
29
Call ← Constant#24, Constant#2, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
54
Constant function complex4 (-e:17) at 104289c6c890
Object
59
Call ← Constant#54, Constant#2, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
66
PostWriteBarrier ← GuardShape#62, Call#21
67
StoreFixedSlot ← GuardShape#62, Call#21 (slot 1)
69
PostWriteBarrier ← GuardShape#62, Call#29
70
StoreFixedSlot ← GuardShape#62, Call#29 (slot 2)
72
PostWriteBarrier ← GuardShape#62, Call#59
73
StoreFixedSlot ← GuardShape#62, Call#59 (slot 3)
76
Constant function complex5 (-e:21) at 104289c6c900
Object
81
Call ← Constant#76, Constant#2, NewPlainObject#61
Value
175
FunctionEnvironment ← Constant#54
Object
517
FunctionEnvironment ← Constant#76
Object
84
Goto → block 1
Block 1 (loop header)
85
Phi ← Call#13, Call#108
Value
86
Phi ← Call#21, Box#710
Value
87
Phi ← Call#29, Call#143
Value
88
Phi ← Call#59, Call#495
Value
89
Phi ← Call#81, Call#704
Value
90
Phi ← Constant#32, Add#709
Int32
91
InterruptCheck
92
Constant 0xa
Int32
95
Compare ← Phi#90, Constant#92 Lt
Bool
96
Test ← Compare#95 → block 2, block 56
1
0
Block 2
847
Beta ← Phi#90 F[?, 9] (U -Infinity U -0)
Int32
101
Unbox Phi#85 to Double (fallible)
Double
806
ToDouble ← Beta#847
Double
104
Add ← Unbox#101, ToDouble#806 [double]
Double
108
Call ← Constant#8, Constant#2, Add#104
Value
113
Unbox Phi#86 to Int32 (fallible)
Int32
116
Add ← Unbox#113, Beta#847 [int32]
Int32
120
Goto → block 3
Block 3
123
Lsh ← Add#116, Constant#37
Int32
125
Rsh ← Add#116, Constant#37
Int32
126
Constant 0xff
Int32
127
BitAnd ← Add#116, Constant#126
Int32
129
Ursh ← Add#116, Constant#42
Int32
130
Add ← BitAnd#127, Ursh#129 [int32]
Int32
131
BitNot ← Add#116
Int32
132
Sub ← Add#130, BitNot#131 [int32]
Int32
133
BitXor ← Rsh#125, Sub#132
Int32
134
BitOr ← Lsh#123, BitXor#133
Int32
135
Goto → block 4
Block 4
143
Call ← Constant#24, Constant#2, Phi#87, Call#108
Value
149
NewArrayObject ← Constant#30
Object
151
Elements ← NewArrayObject#149
Elements
152
PostWriteBarrier ← NewArrayObject#149, Call#108
153
StoreElement ← Elements#151, Constant#32, Call#108
154
SetInitializedLength ← Elements#151, Constant#32
156
Elements ← NewArrayObject#149
Elements
157
PostWriteBarrier ← NewArrayObject#149, BitOr#134
158
StoreElement ← Elements#156, Constant#37, BitOr#134
159
SetInitializedLength ← Elements#156, Constant#37
161
Elements ← NewArrayObject#149
Elements
162
PostWriteBarrier ← NewArrayObject#149, Call#143
163
StoreElement ← Elements#161, Constant#42, Call#143
164
SetInitializedLength ← Elements#161, Constant#42
166
Elements ← NewArrayObject#149
Elements
167
PostWriteBarrier ← NewArrayObject#149, Beta#847
168
StoreElement ← Elements#166, Constant#47, Beta#847
169
SetInitializedLength ← Elements#166, Constant#47
173
Goto → block 5
Block 5
176
GuardShape ← NewArrayObject#149
Object
178
Constant function map (self-hosted:163) at 104289c47920
Object
179
Constant function complex4/< (-e:18) at 104289c63d28
Object
180
Lambda ← FunctionEnvironment#175, Constant#179
Object
184
Goto → block 6
Block 6
186
Constant function ToObject at 104289c6c740
Object
187
Box ← Constant#186
Value
188
DebugCheckSelfHosted ← Box#187
Value
191
Constant function ToLength at 104289c6c778
Object
192
Box ← Constant#191
Value
193
DebugCheckSelfHosted ← Box#192
Value
195
GuardShape ← NewArrayObject#149
Object
196
Elements ← GuardShape#195
Elements
197
ArrayLength ← Elements#196
Int32
808
Goto → block 7
Block 7
213
Constant function IsCallable at 104289c6c7b0
Object
214
Box ← Constant#213
Value
215
DebugCheckSelfHosted ← Box#214
Value
809
AssertClass ← Lambda#180
811
Goto → block 8
Block 8
813
Goto → block 9
Block 9
238
Box ← Constant#2
Value
239
Goto → block 10
Block 10
241
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
242
Box ← Constant#241
Value
243
DebugCheckSelfHosted ← Box#242
Value
246
HasShape ← NewArrayObject#149
Bool
247
Test ← HasShape#246 → block 11, block 12
1
0
Block 11
248
Constant function std_Array at 104289c6c820
Object
249
Box ← Constant#248
Value
250
DebugCheckSelfHosted ← Box#249
Value
253
Unbox DebugCheckSelfHosted#250 to Object (fallible)
Object
255
GuardSpecificFunction ← Unbox#253, Constant#248
Object
256
NewArrayDynamicLength ← ArrayLength#197
Object
257
Goto → block 13
Block 12
258
CallGetIntrinsicValue
Value
259
DebugCheckSelfHosted ← CallGetIntrinsicValue#258
Value
261
Bail
262
Unreachable
Block 13
279
GuardShape ← NewArrayObject#149
Object
816
Constant 2
Double
318
GuardShape ← NewArrayDynamicLength#256
Object
264
Goto → block 14
Block 14 (loop header)
265
Phi ← Constant#32, Add#326
Int32
267
InterruptCheck
272
Compare ← Phi#265, ArrayLength#197 Lt
Bool
273
Test ← Compare#272 → block 15, block 20
1
0
Block 15
846
Beta ← ArrayLength#197 I[-2147483647, 2147483647]
Int32
845
Beta ← Phi#265 I[-2147483648, 2147483646]
Int32
280
Elements ← GuardShape#279
Elements
281
InitializedLength ← Elements#280
Int32
282
BoundsCheck ← Beta#845, InitializedLength#281
Int32
283
SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281
Int32
284
GuardElementNotHole ← Elements#280, SpectreMaskIndex#283
814
Goto → block 16
Block 16
299
GuardElementsArePacked ← Elements#280
300
LoadElement ← Elements#280, SpectreMaskIndex#283
Value
815
AssertClass ← Lambda#180
306
Goto → block 17
Block 17
309
Unbox LoadElement#300 to Double (fallible)
Double
311
Mul ← Unbox#309, Constant#816 [double]
Double
312
Goto → block 18
Block 18
319
Elements ← GuardShape#318
Elements
320
StoreElementHole ← GuardShape#318, Elements#319, Beta#845, Mul#311
321
Goto → block 19
Block 19 (backedge)
326
Add ← Beta#845, Constant#37 [int32]
Int32
327
Goto → block 14
Block 20
330
GuardShape ← NewArrayDynamicLength#256
Object
332
Constant function filter (self-hosted:183) at 104289c47970
Object
333
Constant function complex4/< (-e:18) at 104289c63d60
Object
334
Lambda ← FunctionEnvironment#175, Constant#333
Object
338
Goto → block 21
Block 21
342
DebugCheckSelfHosted ← Box#187
Value
349
DebugCheckSelfHosted ← Box#192
Value
351
GuardShape ← NewArrayDynamicLength#256
Object
352
Elements ← GuardShape#351
Elements
353
ArrayLength ← Elements#352
Int32
818
Goto → block 22
Block 22
371
DebugCheckSelfHosted ← Box#214
Value
819
AssertClass ← Lambda#334
821
Goto → block 23
Block 23
823
Goto → block 24
Block 24
395
Goto → block 25
Block 25
399
DebugCheckSelfHosted ← Box#242
Value
402
HasShape ← NewArrayDynamicLength#256
Bool
403
Test ← HasShape#402 → block 26, block 27
1
0
Block 26
405
NewArrayObject ← Constant#30
Object
406
Goto → block 28
Block 27
407
CallGetIntrinsicValue
Value
408
DebugCheckSelfHosted ← CallGetIntrinsicValue#407
Value
411
Bail
412
Unreachable
Block 28
431
GuardShape ← NewArrayDynamicLength#256
Object
826
Constant 50
Double
473
GuardShape ← NewArrayObject#405
Object
415
Goto → block 29
Block 29 (loop header)
416
Phi ← Constant#32, Add#482
Int32
417
Phi ← Constant#32, Phi#477
Int32
419
InterruptCheck
424
Compare ← Phi#416, ArrayLength#353 Lt
Bool
425
Test ← Compare#424 → block 30, block 37
1
0
Block 30
844
Beta ← ArrayLength#353 I[-2147483647, 2147483647]
Int32
843
Beta ← Phi#416 I[-2147483648, 2147483646]
Int32
432
Elements ← GuardShape#431
Elements
433
InitializedLength ← Elements#432
Int32
434
BoundsCheck ← Beta#843, InitializedLength#433
Int32
435
SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433
Int32
436
GuardElementNotHole ← Elements#432, SpectreMaskIndex#435
824
Goto → block 31
Block 31
451
GuardElementsArePacked ← Elements#432
452
LoadElement ← Elements#432, SpectreMaskIndex#435
Value
825
AssertClass ← Lambda#334
458
Goto → block 32
Block 32
461
Unbox LoadElement#452 to Double (fallible)
Double
463
Compare ← Unbox#461, Constant#826 Gt
Bool
464
Goto → block 33
Block 33
465
Test ← Compare#463 → block 35, block 34
1
0
Block 34 (split edge)
842
Beta ← Unbox#461 F[?, 50] (U NaN U -Infinity U -0)
Double
466
Goto → block 36
Block 35
841
Beta ← Unbox#461 F[50, ?] (U Infinity)
Double
470
Add ← Phi#417, Constant#37 [int32]
Int32
474
Elements ← GuardShape#473
Elements
475
StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452
476
Goto → block 36
Block 36 (backedge)
477
Phi ← Add#470, Phi#417
Int32
482
Add ← Beta#843, Constant#37 [int32]
Int32
483
Goto → block 29
Block 37
486
GuardShape ← NewArrayObject#405
Object
488
Constant function reduce (self-hosted:205) at 104289c479c0
Object
489
Constant function complex4/< (-e:18) at 104289c63d98
Object
490
Lambda ← FunctionEnvironment#175, Constant#489
Object
495
Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32
Value
496
Goto → block 38
Block 38
501
Constant shape at 104289c64fc0
Shape
502
NewPlainObject ← Constant#501
Object
503
GuardShape ← NewPlainObject#502
Object
504
PostWriteBarrier ← GuardShape#503, Call#108
505
StoreFixedSlot ← GuardShape#503, Call#108 (slot 0)
507
PostWriteBarrier ← GuardShape#503, BitOr#134
508
StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1)
510
PostWriteBarrier ← GuardShape#503, Call#143
511
StoreFixedSlot ← GuardShape#503, Call#143 (slot 2)
515
Goto → block 39
Block 39
518
Constant object 104289c3f078 (Call)
Object
519
NewCallObject ← Constant#518
Object
520
Box ← FunctionEnvironment#517
Value
521
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520
522
Box ← Constant#76
Value
523
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522
524
StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0)
525
StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1)
526
PostWriteBarrier ← NewCallObject#519, NewPlainObject#502
527
StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2)
828
AssertClass ← NewPlainObject#502
540
ObjectKeys ← NewPlainObject#502
Object
541
GuardShape ← ObjectKeys#540
Object
544
Constant function complex5/< (-e:22) at 104289c63e08
Object
545
Lambda ← NewCallObject#519, Constant#544
Object
549
Goto → block 40
Block 40
553
DebugCheckSelfHosted ← Box#187
Value
558
DebugCheckSelfHosted ← Box#192
Value
560
GuardShape ← ObjectKeys#540
Object
561
Elements ← GuardShape#560
Elements
562
ArrayLength ← Elements#561
Int32
830
Goto → block 41
Block 41
580
DebugCheckSelfHosted ← Box#214
Value
831
AssertClass ← Lambda#545
833
Goto → block 42
Block 42
835
Goto → block 43
Block 43
604
Goto → block 44
Block 44
608
DebugCheckSelfHosted ← Box#242
Value
611
HasShape ← ObjectKeys#540
Bool
612
Test ← HasShape#611 → block 45, block 46
1
0
Block 45
615
DebugCheckSelfHosted ← Box#249
Value
618
Unbox DebugCheckSelfHosted#615 to Object (fallible)
Object
620
GuardSpecificFunction ← Unbox#618, Constant#248
Object
621
NewArrayDynamicLength ← ArrayLength#562
Object
622
Goto → block 47
Block 46
623
CallGetIntrinsicValue
Value
624
DebugCheckSelfHosted ← CallGetIntrinsicValue#623
Value
626
Bail
627
Unreachable
Block 47
644
GuardShape ← ObjectKeys#540
Object
674
LoadFixedSlot ← NewCallObject#519 (slot 2)
Value
675
Unbox LoadFixedSlot#674 to Object (fallible)
Object
683
GuardShape ← NewArrayDynamicLength#621
Object
629
Goto → block 48
Block 48 (loop header)
630
Phi ← Constant#32, Add#691
Int32
632
InterruptCheck
637
Compare ← Phi#630, ArrayLength#562 Lt
Bool
638
Test ← Compare#637 → block 49, block 54
1
0
Block 49
840
Beta ← ArrayLength#562 I[-2147483647, 2147483647]
Int32
839
Beta ← Phi#630 I[-2147483648, 2147483646]
Int32
645
Elements ← GuardShape#644
Elements
646
InitializedLength ← Elements#645
Int32
647
BoundsCheck ← Beta#839, InitializedLength#646
Int32
648
SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646
Int32
649
GuardElementNotHole ← Elements#645, SpectreMaskIndex#648
836
Goto → block 50
Block 50
664
GuardElementsArePacked ← Elements#645
665
LoadElement ← Elements#645, SpectreMaskIndex#648
Value
837
AssertClass ← Lambda#545
671
Goto → block 51
Block 51
676
MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665
Value
677
Goto → block 52
Block 52
684
Elements ← GuardShape#683
Elements
685
StoreElementHole ← GuardShape#683, Elements#684, Beta#839, MegamorphicLoadSlotByValue#676
686
Goto → block 53
Block 53 (backedge)
691
Add ← Beta#839, Constant#37 [int32]
Int32
692
Goto → block 48
Block 54
695
GuardShape ← NewArrayDynamicLength#621
Object
698
Constant function complex5/< (-e:22) at 104289c63e40
Object
699
Lambda ← NewCallObject#519, Constant#698
Object
704
Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32
Value
705
Goto → block 55
Block 55 (backedge)
709
Add ← Beta#847, Constant#37 [int32]
Int32
710
Box ← BitOr#134
Value
711
Goto → block 1
Block 56
838
Beta ← Phi#90 F[10, ?] (U NaN U Infinity)
Int32
712
Unbox Phi#85 to Double (fallible)
Double
713
Unbox Phi#86 to Double (fallible)
Double
714
Add ← Unbox#712, Unbox#713 [double]
Double
715
Unbox Phi#87 to Double (fallible)
Double
716
Add ← Add#714, Unbox#715 [double]
Double
717
Unbox Phi#88 to Double (fallible)
Double
718
Add ← Add#716, Unbox#717 [double]
Double
719
Unbox Phi#89 to Double (fallible)
Double
720
Add ← Add#718, Unbox#719 [double]
Double
721
Box ← Add#720
Value
722
Return ← Box#721
Block 0
805
Constant magic optimized-out
MagicOptimizedOut
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
13
Call ← Constant#8, Constant#2, Parameter#1
Value
16
Constant function complex2 (-e:7) at 104289c6c970
Object
21
Call ← Constant#16, Constant#2, Parameter#1
Value
24
Constant function complex3 (-e:11) at 104289c6c938
Object
29
Call ← Constant#24, Constant#2, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
I[0, 0]: Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
I[1, 1]: Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
I[2, 2]: Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
I[3, 3]: Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
54
Constant function complex4 (-e:17) at 104289c6c890
Object
59
Call ← Constant#54, Constant#2, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
66
PostWriteBarrier ← GuardShape#62, Call#21
67
StoreFixedSlot ← GuardShape#62, Call#21 (slot 1)
69
PostWriteBarrier ← GuardShape#62, Call#29
70
StoreFixedSlot ← GuardShape#62, Call#29 (slot 2)
72
PostWriteBarrier ← GuardShape#62, Call#59
73
StoreFixedSlot ← GuardShape#62, Call#59 (slot 3)
76
Constant function complex5 (-e:21) at 104289c6c900
Object
81
Call ← Constant#76, Constant#2, NewPlainObject#61
Value
175
FunctionEnvironment ← Constant#54
Object
517
FunctionEnvironment ← Constant#76
Object
84
Goto → block 1
Block 1 (loop header)
85
Phi ← Call#13, Call#108
Value
86
Phi ← Call#21, Box#710
Value
87
Phi ← Call#29, Call#143
Value
88
Phi ← Call#59, Call#495
Value
89
Phi ← Call#81, Call#704
Value
90
Phi ← Constant#32, Add#709
I[0 {}, 2147483647 {[loop] +9}]: Int32
91
InterruptCheck
92
Constant 0xa
I[10, 10]: Int32
95
Compare ← Phi#90, Constant#92 Lt
Bool
96
Test ← Compare#95 → block 2, block 56
1
0
Block 2
847
Beta ← Phi#90 F[?, 9] (U -Infinity U -0)
I[0, 9] (U -0): Int32
101
Unbox Phi#85 to Double (fallible)
Double
806
ToDouble ← Beta#847
I[0, 9]: Double
104
Add ← Unbox#101, ToDouble#806 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
108
Call ← Constant#8, Constant#2, Add#104
Value
113
Unbox Phi#86 to Int32 (fallible)
Int32
116
Add ← Unbox#113, Beta#847 [int32]
I[-2147483648, ?] (< pow(2, 32+1)): Int32
120
Goto → block 3
Block 3
123
Lsh ← Add#116, Constant#37
I[-2147483648, 2147483647]: Int32
125
Rsh ← Add#116, Constant#37
I[-1073741824, 1073741823]: Int32
126
Constant 0xff
I[255, 255]: Int32
127
BitAnd ← Add#116, Constant#126
I[0, 255]: Int32
129
Ursh ← Add#116, Constant#42
I[0, 1073741823]: Int32
130
Add ← BitAnd#127, Ursh#129 [int32]
I[0, 1073742078]: Int32
131
BitNot ← Add#116
I[-2147483648, 2147483647]: Int32
132
Sub ← Add#130, BitNot#131 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
133
BitXor ← Rsh#125, Sub#132
I[-2147483648, 2147483647]: Int32
134
BitOr ← Lsh#123, BitXor#133
I[-2147483648, 2147483647]: Int32
135
Goto → block 4
Block 4
143
Call ← Constant#24, Constant#2, Phi#87, Call#108
Value
149
NewArrayObject ← Constant#30
Object
151
Elements ← NewArrayObject#149
Elements
152
PostWriteBarrier ← NewArrayObject#149, Call#108
153
StoreElement ← Elements#151, Constant#32, Call#108
154
SetInitializedLength ← Elements#151, Constant#32
156
Elements ← NewArrayObject#149
Elements
157
PostWriteBarrier ← NewArrayObject#149, BitOr#134
158
StoreElement ← Elements#156, Constant#37, BitOr#134
159
SetInitializedLength ← Elements#156, Constant#37
161
Elements ← NewArrayObject#149
Elements
162
PostWriteBarrier ← NewArrayObject#149, Call#143
163
StoreElement ← Elements#161, Constant#42, Call#143
164
SetInitializedLength ← Elements#161, Constant#42
166
Elements ← NewArrayObject#149
Elements
167
PostWriteBarrier ← NewArrayObject#149, Beta#847
168
StoreElement ← Elements#166, Constant#47, Beta#847
169
SetInitializedLength ← Elements#166, Constant#47
173
Goto → block 5
Block 5
176
GuardShape ← NewArrayObject#149
Object
178
Constant function map (self-hosted:163) at 104289c47920
Object
179
Constant function complex4/< (-e:18) at 104289c63d28
Object
180
Lambda ← FunctionEnvironment#175, Constant#179
Object
184
Goto → block 6
Block 6
186
Constant function ToObject at 104289c6c740
Object
187
Box ← Constant#186
Value
188
DebugCheckSelfHosted ← Box#187
Value
191
Constant function ToLength at 104289c6c778
Object
192
Box ← Constant#191
Value
193
DebugCheckSelfHosted ← Box#192
Value
195
GuardShape ← NewArrayObject#149
Object
196
Elements ← GuardShape#195
Elements
197
ArrayLength ← Elements#196
I[0, 2147483647]: Int32
808
Goto → block 7
Block 7
213
Constant function IsCallable at 104289c6c7b0
Object
214
Box ← Constant#213
Value
215
DebugCheckSelfHosted ← Box#214
Value
809
AssertClass ← Lambda#180
811
Goto → block 8
Block 8
813
Goto → block 9
Block 9
238
Box ← Constant#2
Value
239
Goto → block 10
Block 10
241
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
242
Box ← Constant#241
Value
243
DebugCheckSelfHosted ← Box#242
Value
246
HasShape ← NewArrayObject#149
Bool
247
Test ← HasShape#246 → block 11, block 12
1
0
Block 11
248
Constant function std_Array at 104289c6c820
Object
249
Box ← Constant#248
Value
250
DebugCheckSelfHosted ← Box#249
Value
253
Unbox DebugCheckSelfHosted#250 to Object (fallible)
Object
255
GuardSpecificFunction ← Unbox#253, Constant#248
Object
256
NewArrayDynamicLength ← ArrayLength#197
Object
257
Goto → block 13
Block 12
258
CallGetIntrinsicValue
Value
259
DebugCheckSelfHosted ← CallGetIntrinsicValue#258
Value
261
Bail
262
Unreachable
Block 13
279
GuardShape ← NewArrayObject#149
Object
816
Constant 2
I[2, 2]: Double
318
GuardShape ← NewArrayDynamicLength#256
Object
264
Goto → block 14
Block 14 (loop header)
265
Phi ← Constant#32, Add#326
I[0 {}, 2147483647 {[loop] #197-1}]: Int32
267
InterruptCheck
272
Compare ← Phi#265, ArrayLength#197 Lt
Bool
273
Test ← Compare#272 → block 15, block 20
1
0
Block 15
846
Beta ← ArrayLength#197 I[-2147483647, 2147483647]
I[0, 2147483647]: Int32
845
Beta ← Phi#265 I[-2147483648, 2147483646]
I[0, 2147483646]: Int32
280
Elements ← GuardShape#279
Elements
281
InitializedLength ← Elements#280
I[0, 268435453]: Int32
282
BoundsCheck ← Beta#845, InitializedLength#281
I[0, 2147483646]: Int32
283
SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281
I[0, 2147483646]: Int32
284
GuardElementNotHole ← Elements#280, SpectreMaskIndex#283
814
Goto → block 16
Block 16
299
GuardElementsArePacked ← Elements#280
300
LoadElement ← Elements#280, SpectreMaskIndex#283
Value
815
AssertClass ← Lambda#180
306
Goto → block 17
Block 17
309
Unbox LoadElement#300 to Double (fallible)
Double
311
Mul ← Unbox#309, Constant#816 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
312
Goto → block 18
Block 18
319
Elements ← GuardShape#318
Elements
320
StoreElementHole ← GuardShape#318, Elements#319, Beta#845, Mul#311
321
Goto → block 19
Block 19 (backedge)
326
Add ← Beta#845, Constant#37 [int32]
I[1, 2147483647]: Int32
327
Goto → block 14
Block 20
330
GuardShape ← NewArrayDynamicLength#256
Object
332
Constant function filter (self-hosted:183) at 104289c47970
Object
333
Constant function complex4/< (-e:18) at 104289c63d60
Object
334
Lambda ← FunctionEnvironment#175, Constant#333
Object
338
Goto → block 21
Block 21
342
DebugCheckSelfHosted ← Box#187
Value
349
DebugCheckSelfHosted ← Box#192
Value
351
GuardShape ← NewArrayDynamicLength#256
Object
352
Elements ← GuardShape#351
Elements
353
ArrayLength ← Elements#352
I[0, 2147483647]: Int32
818
Goto → block 22
Block 22
371
DebugCheckSelfHosted ← Box#214
Value
819
AssertClass ← Lambda#334
821
Goto → block 23
Block 23
823
Goto → block 24
Block 24
395
Goto → block 25
Block 25
399
DebugCheckSelfHosted ← Box#242
Value
402
HasShape ← NewArrayDynamicLength#256
Bool
403
Test ← HasShape#402 → block 26, block 27
1
0
Block 26
405
NewArrayObject ← Constant#30
Object
406
Goto → block 28
Block 27
407
CallGetIntrinsicValue
Value
408
DebugCheckSelfHosted ← CallGetIntrinsicValue#407
Value
411
Bail
412
Unreachable
Block 28
431
GuardShape ← NewArrayDynamicLength#256
Object
826
Constant 50
I[50, 50]: Double
473
GuardShape ← NewArrayObject#405
Object
415
Goto → block 29
Block 29 (loop header)
416
Phi ← Constant#32, Add#482
I[0 {}, 2147483647 {[loop] #353-1}]: Int32
417
Phi ← Constant#32, Phi#477
Int32
419
InterruptCheck
424
Compare ← Phi#416, ArrayLength#353 Lt
Bool
425
Test ← Compare#424 → block 30, block 37
1
0
Block 30
844
Beta ← ArrayLength#353 I[-2147483647, 2147483647]
I[0, 2147483647]: Int32
843
Beta ← Phi#416 I[-2147483648, 2147483646]
I[0, 2147483646]: Int32
432
Elements ← GuardShape#431
Elements
433
InitializedLength ← Elements#432
I[0, 268435453]: Int32
434
BoundsCheck ← Beta#843, InitializedLength#433
I[0, 2147483646]: Int32
435
SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433
I[0, 2147483646]: Int32
436
GuardElementNotHole ← Elements#432, SpectreMaskIndex#435
824
Goto → block 31
Block 31
451
GuardElementsArePacked ← Elements#432
452
LoadElement ← Elements#432, SpectreMaskIndex#435
Value
825
AssertClass ← Lambda#334
458
Goto → block 32
Block 32
461
Unbox LoadElement#452 to Double (fallible)
Double
463
Compare ← Unbox#461, Constant#826 Gt
Bool
464
Goto → block 33
Block 33
465
Test ← Compare#463 → block 35, block 34
1
0
Block 34 (split edge)
842
Beta ← Unbox#461 F[?, 50] (U NaN U -Infinity U -0)
F[?, 50] (U NaN U -Infinity U -0): Double
466
Goto → block 36
Block 35
841
Beta ← Unbox#461 F[50, ?] (U Infinity)
F[50, ?] (U Infinity): Double
470
Add ← Phi#417, Constant#37 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
474
Elements ← GuardShape#473
Elements
475
StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452
476
Goto → block 36
Block 36 (backedge)
477
Phi ← Add#470, Phi#417
Int32
482
Add ← Beta#843, Constant#37 [int32]
I[1, 2147483647]: Int32
483
Goto → block 29
Block 37
486
GuardShape ← NewArrayObject#405
Object
488
Constant function reduce (self-hosted:205) at 104289c479c0
Object
489
Constant function complex4/< (-e:18) at 104289c63d98
Object
490
Lambda ← FunctionEnvironment#175, Constant#489
Object
495
Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32
Value
496
Goto → block 38
Block 38
501
Constant shape at 104289c64fc0
Shape
502
NewPlainObject ← Constant#501
Object
503
GuardShape ← NewPlainObject#502
Object
504
PostWriteBarrier ← GuardShape#503, Call#108
505
StoreFixedSlot ← GuardShape#503, Call#108 (slot 0)
507
PostWriteBarrier ← GuardShape#503, BitOr#134
508
StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1)
510
PostWriteBarrier ← GuardShape#503, Call#143
511
StoreFixedSlot ← GuardShape#503, Call#143 (slot 2)
515
Goto → block 39
Block 39
518
Constant object 104289c3f078 (Call)
Object
519
NewCallObject ← Constant#518
Object
520
Box ← FunctionEnvironment#517
Value
521
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520
522
Box ← Constant#76
Value
523
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522
524
StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0)
525
StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1)
526
PostWriteBarrier ← NewCallObject#519, NewPlainObject#502
527
StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2)
828
AssertClass ← NewPlainObject#502
540
ObjectKeys ← NewPlainObject#502
Object
541
GuardShape ← ObjectKeys#540
Object
544
Constant function complex5/< (-e:22) at 104289c63e08
Object
545
Lambda ← NewCallObject#519, Constant#544
Object
549
Goto → block 40
Block 40
553
DebugCheckSelfHosted ← Box#187
Value
558
DebugCheckSelfHosted ← Box#192
Value
560
GuardShape ← ObjectKeys#540
Object
561
Elements ← GuardShape#560
Elements
562
ArrayLength ← Elements#561
I[0, 2147483647]: Int32
830
Goto → block 41
Block 41
580
DebugCheckSelfHosted ← Box#214
Value
831
AssertClass ← Lambda#545
833
Goto → block 42
Block 42
835
Goto → block 43
Block 43
604
Goto → block 44
Block 44
608
DebugCheckSelfHosted ← Box#242
Value
611
HasShape ← ObjectKeys#540
Bool
612
Test ← HasShape#611 → block 45, block 46
1
0
Block 45
615
DebugCheckSelfHosted ← Box#249
Value
618
Unbox DebugCheckSelfHosted#615 to Object (fallible)
Object
620
GuardSpecificFunction ← Unbox#618, Constant#248
Object
621
NewArrayDynamicLength ← ArrayLength#562
Object
622
Goto → block 47
Block 46
623
CallGetIntrinsicValue
Value
624
DebugCheckSelfHosted ← CallGetIntrinsicValue#623
Value
626
Bail
627
Unreachable
Block 47
644
GuardShape ← ObjectKeys#540
Object
674
LoadFixedSlot ← NewCallObject#519 (slot 2)
Value
675
Unbox LoadFixedSlot#674 to Object (fallible)
Object
683
GuardShape ← NewArrayDynamicLength#621
Object
629
Goto → block 48
Block 48 (loop header)
630
Phi ← Constant#32, Add#691
I[0 {}, 2147483647 {[loop] #562-1}]: Int32
632
InterruptCheck
637
Compare ← Phi#630, ArrayLength#562 Lt
Bool
638
Test ← Compare#637 → block 49, block 54
1
0
Block 49
840
Beta ← ArrayLength#562 I[-2147483647, 2147483647]
I[0, 2147483647]: Int32
839
Beta ← Phi#630 I[-2147483648, 2147483646]
I[0, 2147483646]: Int32
645
Elements ← GuardShape#644
Elements
646
InitializedLength ← Elements#645
I[0, 268435453]: Int32
647
BoundsCheck ← Beta#839, InitializedLength#646
I[0, 2147483646]: Int32
648
SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646
I[0, 2147483646]: Int32
649
GuardElementNotHole ← Elements#645, SpectreMaskIndex#648
836
Goto → block 50
Block 50
664
GuardElementsArePacked ← Elements#645
665
LoadElement ← Elements#645, SpectreMaskIndex#648
Value
837
AssertClass ← Lambda#545
671
Goto → block 51
Block 51
676
MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665
Value
677
Goto → block 52
Block 52
684
Elements ← GuardShape#683
Elements
685
StoreElementHole ← GuardShape#683, Elements#684, Beta#839, MegamorphicLoadSlotByValue#676
686
Goto → block 53
Block 53 (backedge)
691
Add ← Beta#839, Constant#37 [int32]
I[1, 2147483647]: Int32
692
Goto → block 48
Block 54
695
GuardShape ← NewArrayDynamicLength#621
Object
698
Constant function complex5/< (-e:22) at 104289c63e40
Object
699
Lambda ← NewCallObject#519, Constant#698
Object
704
Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32
Value
705
Goto → block 55
Block 55 (backedge)
709
Add ← Beta#847, Constant#37 [int32]
I[1, 10]: Int32
710
Box ← BitOr#134
Value
711
Goto → block 1
Block 56
838
Beta ← Phi#90 F[10, ?] (U NaN U Infinity)
I[10, 2147483647]: Int32
712
Unbox Phi#85 to Double (fallible)
Double
713
Unbox Phi#86 to Double (fallible)
Double
714
Add ← Unbox#712, Unbox#713 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
715
Unbox Phi#87 to Double (fallible)
Double
716
Add ← Add#714, Unbox#715 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
717
Unbox Phi#88 to Double (fallible)
Double
718
Add ← Add#716, Unbox#717 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
719
Unbox Phi#89 to Double (fallible)
Double
720
Add ← Add#718, Unbox#719 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
721
Box ← Add#720
Value
722
Return ← Box#721
Block 0
805
Constant magic optimized-out
MagicOptimizedOut
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
13
Call ← Constant#8, Constant#2, Parameter#1
Value
16
Constant function complex2 (-e:7) at 104289c6c970
Object
21
Call ← Constant#16, Constant#2, Parameter#1
Value
24
Constant function complex3 (-e:11) at 104289c6c938
Object
29
Call ← Constant#24, Constant#2, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
I[0, 0]: Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
I[1, 1]: Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
I[2, 2]: Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
I[3, 3]: Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
54
Constant function complex4 (-e:17) at 104289c6c890
Object
59
Call ← Constant#54, Constant#2, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
66
PostWriteBarrier ← GuardShape#62, Call#21
67
StoreFixedSlot ← GuardShape#62, Call#21 (slot 1)
69
PostWriteBarrier ← GuardShape#62, Call#29
70
StoreFixedSlot ← GuardShape#62, Call#29 (slot 2)
72
PostWriteBarrier ← GuardShape#62, Call#59
73
StoreFixedSlot ← GuardShape#62, Call#59 (slot 3)
76
Constant function complex5 (-e:21) at 104289c6c900
Object
81
Call ← Constant#76, Constant#2, NewPlainObject#61
Value
175
FunctionEnvironment ← Constant#54
Object
517
FunctionEnvironment ← Constant#76
Object
84
Goto → block 1
Block 1 (loop header)
85
Phi ← Call#13, Call#108
Value
86
Phi ← Call#21, Box#710
Value
87
Phi ← Call#29, Call#143
Value
88
Phi ← Call#59, Call#495
Value
89
Phi ← Call#81, Call#704
Value
90
Phi ← Constant#32, Add#709
I[0 {}, 2147483647 {[loop] +9}]: Int32
91
InterruptCheck
92
Constant 0xa
I[10, 10]: Int32
95
Compare ← Phi#90, Constant#92 Lt
Bool
96
Test ← Compare#95 → block 2, block 56
1
0
Block 2
101
Unbox Phi#85 to Double (fallible)
Double
806
ToDouble ← Phi#90
I[0, 9]: Double
104
Add ← Unbox#101, ToDouble#806 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
108
Call ← Constant#8, Constant#2, Add#104
Value
113
Unbox Phi#86 to Int32 (fallible)
Int32
116
Add ← Unbox#113, Phi#90 [int32]
I[-2147483648, ?] (< pow(2, 32+1)): Int32
120
Goto → block 3
Block 3
123
Lsh ← Add#116, Constant#37
I[-2147483648, 2147483647]: Int32
125
Rsh ← Add#116, Constant#37
I[-1073741824, 1073741823]: Int32
126
Constant 0xff
I[255, 255]: Int32
127
BitAnd ← Add#116, Constant#126
I[0, 255]: Int32
129
Ursh ← Add#116, Constant#42
I[0, 1073741823]: Int32
130
Add ← BitAnd#127, Ursh#129 [int32]
I[0, 1073742078]: Int32
131
BitNot ← Add#116
I[-2147483648, 2147483647]: Int32
132
Sub ← Add#130, BitNot#131 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
133
BitXor ← Rsh#125, Sub#132
I[-2147483648, 2147483647]: Int32
134
BitOr ← Lsh#123, BitXor#133
I[-2147483648, 2147483647]: Int32
135
Goto → block 4
Block 4
143
Call ← Constant#24, Constant#2, Phi#87, Call#108
Value
149
NewArrayObject ← Constant#30
Object
151
Elements ← NewArrayObject#149
Elements
152
PostWriteBarrier ← NewArrayObject#149, Call#108
153
StoreElement ← Elements#151, Constant#32, Call#108
154
SetInitializedLength ← Elements#151, Constant#32
156
Elements ← NewArrayObject#149
Elements
157
PostWriteBarrier ← NewArrayObject#149, BitOr#134
158
StoreElement ← Elements#156, Constant#37, BitOr#134
159
SetInitializedLength ← Elements#156, Constant#37
161
Elements ← NewArrayObject#149
Elements
162
PostWriteBarrier ← NewArrayObject#149, Call#143
163
StoreElement ← Elements#161, Constant#42, Call#143
164
SetInitializedLength ← Elements#161, Constant#42
166
Elements ← NewArrayObject#149
Elements
167
PostWriteBarrier ← NewArrayObject#149, Phi#90
168
StoreElement ← Elements#166, Constant#47, Phi#90
169
SetInitializedLength ← Elements#166, Constant#47
173
Goto → block 5
Block 5
176
GuardShape ← NewArrayObject#149
Object
178
Constant function map (self-hosted:163) at 104289c47920
Object
179
Constant function complex4/< (-e:18) at 104289c63d28
Object
180
Lambda ← FunctionEnvironment#175, Constant#179
Object
184
Goto → block 6
Block 6
186
Constant function ToObject at 104289c6c740
Object
187
Box ← Constant#186
Value
188
DebugCheckSelfHosted ← Box#187
Value
191
Constant function ToLength at 104289c6c778
Object
192
Box ← Constant#191
Value
193
DebugCheckSelfHosted ← Box#192
Value
195
GuardShape ← NewArrayObject#149
Object
196
Elements ← GuardShape#195
Elements
197
ArrayLength ← Elements#196
I[0, 2147483647]: Int32
808
Goto → block 7
Block 7
213
Constant function IsCallable at 104289c6c7b0
Object
214
Box ← Constant#213
Value
215
DebugCheckSelfHosted ← Box#214
Value
809
AssertClass ← Lambda#180
811
Goto → block 8
Block 8
813
Goto → block 9
Block 9
238
Box ← Constant#2
Value
239
Goto → block 10
Block 10
241
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
242
Box ← Constant#241
Value
243
DebugCheckSelfHosted ← Box#242
Value
246
HasShape ← NewArrayObject#149
Bool
247
Test ← HasShape#246 → block 11, block 12
1
0
Block 11
248
Constant function std_Array at 104289c6c820
Object
249
Box ← Constant#248
Value
250
DebugCheckSelfHosted ← Box#249
Value
253
Unbox DebugCheckSelfHosted#250 to Object (fallible)
Object
255
GuardSpecificFunction ← Unbox#253, Constant#248
Object
256
NewArrayDynamicLength ← ArrayLength#197
Object
257
Goto → block 13
Block 12
258
CallGetIntrinsicValue
Value
259
DebugCheckSelfHosted ← CallGetIntrinsicValue#258
Value
261
Bail
262
Unreachable
Block 13
279
GuardShape ← NewArrayObject#149
Object
816
Constant 2
I[2, 2]: Double
318
GuardShape ← NewArrayDynamicLength#256
Object
264
Goto → block 14
Block 14 (loop header)
265
Phi ← Constant#32, Add#326
I[0 {}, 2147483647 {[loop] #197-1}]: Int32
267
InterruptCheck
272
Compare ← Phi#265, ArrayLength#197 Lt
Bool
273
Test ← Compare#272 → block 15, block 20
1
0
Block 15
280
Elements ← GuardShape#279
Elements
281
InitializedLength ← Elements#280
I[0, 268435453]: Int32
282
BoundsCheck ← Phi#265, InitializedLength#281
I[0, 2147483646]: Int32
283
SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281
I[0, 2147483646]: Int32
284
GuardElementNotHole ← Elements#280, SpectreMaskIndex#283
814
Goto → block 16
Block 16
299
GuardElementsArePacked ← Elements#280
300
LoadElement ← Elements#280, SpectreMaskIndex#283
Value
815
AssertClass ← Lambda#180
306
Goto → block 17
Block 17
309
Unbox LoadElement#300 to Double (fallible)
Double
311
Mul ← Unbox#309, Constant#816 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
312
Goto → block 18
Block 18
319
Elements ← GuardShape#318
Elements
320
StoreElementHole ← GuardShape#318, Elements#319, Phi#265, Mul#311
321
Goto → block 19
Block 19 (backedge)
326
Add ← Phi#265, Constant#37 [int32]
I[1, 2147483647]: Int32
327
Goto → block 14
Block 20
330
GuardShape ← NewArrayDynamicLength#256
Object
332
Constant function filter (self-hosted:183) at 104289c47970
Object
333
Constant function complex4/< (-e:18) at 104289c63d60
Object
334
Lambda ← FunctionEnvironment#175, Constant#333
Object
338
Goto → block 21
Block 21
342
DebugCheckSelfHosted ← Box#187
Value
349
DebugCheckSelfHosted ← Box#192
Value
351
GuardShape ← NewArrayDynamicLength#256
Object
352
Elements ← GuardShape#351
Elements
353
ArrayLength ← Elements#352
I[0, 2147483647]: Int32
818
Goto → block 22
Block 22
371
DebugCheckSelfHosted ← Box#214
Value
819
AssertClass ← Lambda#334
821
Goto → block 23
Block 23
823
Goto → block 24
Block 24
395
Goto → block 25
Block 25
399
DebugCheckSelfHosted ← Box#242
Value
402
HasShape ← NewArrayDynamicLength#256
Bool
403
Test ← HasShape#402 → block 26, block 27
1
0
Block 26
405
NewArrayObject ← Constant#30
Object
406
Goto → block 28
Block 27
407
CallGetIntrinsicValue
Value
408
DebugCheckSelfHosted ← CallGetIntrinsicValue#407
Value
411
Bail
412
Unreachable
Block 28
431
GuardShape ← NewArrayDynamicLength#256
Object
826
Constant 50
I[50, 50]: Double
473
GuardShape ← NewArrayObject#405
Object
415
Goto → block 29
Block 29 (loop header)
416
Phi ← Constant#32, Add#482
I[0 {}, 2147483647 {[loop] #353-1}]: Int32
417
Phi ← Constant#32, Phi#477
Int32
419
InterruptCheck
424
Compare ← Phi#416, ArrayLength#353 Lt
Bool
425
Test ← Compare#424 → block 30, block 37
1
0
Block 30
432
Elements ← GuardShape#431
Elements
433
InitializedLength ← Elements#432
I[0, 268435453]: Int32
434
BoundsCheck ← Phi#416, InitializedLength#433
I[0, 2147483646]: Int32
435
SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433
I[0, 2147483646]: Int32
436
GuardElementNotHole ← Elements#432, SpectreMaskIndex#435
824
Goto → block 31
Block 31
451
GuardElementsArePacked ← Elements#432
452
LoadElement ← Elements#432, SpectreMaskIndex#435
Value
825
AssertClass ← Lambda#334
458
Goto → block 32
Block 32
461
Unbox LoadElement#452 to Double (fallible)
Double
463
Compare ← Unbox#461, Constant#826 Gt
Bool
464
Goto → block 33
Block 33
465
Test ← Compare#463 → block 35, block 34
1
0
Block 34 (split edge)
466
Goto → block 36
Block 35
470
Add ← Phi#417, Constant#37 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
474
Elements ← GuardShape#473
Elements
475
StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452
476
Goto → block 36
Block 36 (backedge)
477
Phi ← Add#470, Phi#417
Int32
482
Add ← Phi#416, Constant#37 [int32]
I[1, 2147483647]: Int32
483
Goto → block 29
Block 37
486
GuardShape ← NewArrayObject#405
Object
488
Constant function reduce (self-hosted:205) at 104289c479c0
Object
489
Constant function complex4/< (-e:18) at 104289c63d98
Object
490
Lambda ← FunctionEnvironment#175, Constant#489
Object
495
Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32
Value
496
Goto → block 38
Block 38
501
Constant shape at 104289c64fc0
Shape
502
NewPlainObject ← Constant#501
Object
503
GuardShape ← NewPlainObject#502
Object
504
PostWriteBarrier ← GuardShape#503, Call#108
505
StoreFixedSlot ← GuardShape#503, Call#108 (slot 0)
507
PostWriteBarrier ← GuardShape#503, BitOr#134
508
StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1)
510
PostWriteBarrier ← GuardShape#503, Call#143
511
StoreFixedSlot ← GuardShape#503, Call#143 (slot 2)
515
Goto → block 39
Block 39
518
Constant object 104289c3f078 (Call)
Object
519
NewCallObject ← Constant#518
Object
520
Box ← FunctionEnvironment#517
Value
521
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520
522
Box ← Constant#76
Value
523
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522
524
StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0)
525
StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1)
526
PostWriteBarrier ← NewCallObject#519, NewPlainObject#502
527
StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2)
828
AssertClass ← NewPlainObject#502
540
ObjectKeys ← NewPlainObject#502
Object
541
GuardShape ← ObjectKeys#540
Object
544
Constant function complex5/< (-e:22) at 104289c63e08
Object
545
Lambda ← NewCallObject#519, Constant#544
Object
549
Goto → block 40
Block 40
553
DebugCheckSelfHosted ← Box#187
Value
558
DebugCheckSelfHosted ← Box#192
Value
560
GuardShape ← ObjectKeys#540
Object
561
Elements ← GuardShape#560
Elements
562
ArrayLength ← Elements#561
I[0, 2147483647]: Int32
830
Goto → block 41
Block 41
580
DebugCheckSelfHosted ← Box#214
Value
831
AssertClass ← Lambda#545
833
Goto → block 42
Block 42
835
Goto → block 43
Block 43
604
Goto → block 44
Block 44
608
DebugCheckSelfHosted ← Box#242
Value
611
HasShape ← ObjectKeys#540
Bool
612
Test ← HasShape#611 → block 45, block 46
1
0
Block 45
615
DebugCheckSelfHosted ← Box#249
Value
618
Unbox DebugCheckSelfHosted#615 to Object (fallible)
Object
620
GuardSpecificFunction ← Unbox#618, Constant#248
Object
621
NewArrayDynamicLength ← ArrayLength#562
Object
622
Goto → block 47
Block 46
623
CallGetIntrinsicValue
Value
624
DebugCheckSelfHosted ← CallGetIntrinsicValue#623
Value
626
Bail
627
Unreachable
Block 47
644
GuardShape ← ObjectKeys#540
Object
674
LoadFixedSlot ← NewCallObject#519 (slot 2)
Value
675
Unbox LoadFixedSlot#674 to Object (fallible)
Object
683
GuardShape ← NewArrayDynamicLength#621
Object
629
Goto → block 48
Block 48 (loop header)
630
Phi ← Constant#32, Add#691
I[0 {}, 2147483647 {[loop] #562-1}]: Int32
632
InterruptCheck
637
Compare ← Phi#630, ArrayLength#562 Lt
Bool
638
Test ← Compare#637 → block 49, block 54
1
0
Block 49
645
Elements ← GuardShape#644
Elements
646
InitializedLength ← Elements#645
I[0, 268435453]: Int32
647
BoundsCheck ← Phi#630, InitializedLength#646
I[0, 2147483646]: Int32
648
SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646
I[0, 2147483646]: Int32
649
GuardElementNotHole ← Elements#645, SpectreMaskIndex#648
836
Goto → block 50
Block 50
664
GuardElementsArePacked ← Elements#645
665
LoadElement ← Elements#645, SpectreMaskIndex#648
Value
837
AssertClass ← Lambda#545
671
Goto → block 51
Block 51
676
MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665
Value
677
Goto → block 52
Block 52
684
Elements ← GuardShape#683
Elements
685
StoreElementHole ← GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676
686
Goto → block 53
Block 53 (backedge)
691
Add ← Phi#630, Constant#37 [int32]
I[1, 2147483647]: Int32
692
Goto → block 48
Block 54
695
GuardShape ← NewArrayDynamicLength#621
Object
698
Constant function complex5/< (-e:22) at 104289c63e40
Object
699
Lambda ← NewCallObject#519, Constant#698
Object
704
Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32
Value
705
Goto → block 55
Block 55 (backedge)
709
Add ← Phi#90, Constant#37 [int32]
I[1, 10]: Int32
710
Box ← BitOr#134
Value
711
Goto → block 1
Block 56
712
Unbox Phi#85 to Double (fallible)
Double
713
Unbox Phi#86 to Double (fallible)
Double
714
Add ← Unbox#712, Unbox#713 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
715
Unbox Phi#87 to Double (fallible)
Double
716
Add ← Add#714, Unbox#715 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
717
Unbox Phi#88 to Double (fallible)
Double
718
Add ← Add#716, Unbox#717 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
719
Unbox Phi#89 to Double (fallible)
Double
720
Add ← Add#718, Unbox#719 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
721
Box ← Add#720
Value
722
Return ← Box#721
Block 0
805
Constant magic optimized-out
MagicOptimizedOut
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
13
Call ← Constant#8, Constant#2, Parameter#1
Value
16
Constant function complex2 (-e:7) at 104289c6c970
Object
21
Call ← Constant#16, Constant#2, Parameter#1
Value
24
Constant function complex3 (-e:11) at 104289c6c938
Object
29
Call ← Constant#24, Constant#2, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
I[0, 0]: Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
I[1, 1]: Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
I[2, 2]: Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
I[3, 3]: Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
54
Constant function complex4 (-e:17) at 104289c6c890
Object
59
Call ← Constant#54, Constant#2, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
66
PostWriteBarrier ← GuardShape#62, Call#21
67
StoreFixedSlot ← GuardShape#62, Call#21 (slot 1)
69
PostWriteBarrier ← GuardShape#62, Call#29
70
StoreFixedSlot ← GuardShape#62, Call#29 (slot 2)
72
PostWriteBarrier ← GuardShape#62, Call#59
73
StoreFixedSlot ← GuardShape#62, Call#59 (slot 3)
76
Constant function complex5 (-e:21) at 104289c6c900
Object
81
Call ← Constant#76, Constant#2, NewPlainObject#61
Value
175
FunctionEnvironment ← Constant#54
Object
517
FunctionEnvironment ← Constant#76
Object
84
Goto → block 1
Block 1 (loop header)
85
Phi ← Call#13, Call#108
Value
86
Phi ← Call#21, Box#710
Value
87
Phi ← Call#29, Call#143
Value
88
Phi ← Call#59, Call#495
Value
89
Phi ← Call#81, Call#704
Value
90
Phi ← Constant#32, Add#709
I[0 {}, 2147483647 {[loop] +9}]: Int32
91
InterruptCheck
92
Constant 0xa
I[10, 10]: Int32
95
Compare ← Phi#90, Constant#92 Lt
Bool
96
Test ← Compare#95 → block 2, block 56
1
0
Block 2
101
Unbox Phi#85 to Double (fallible)
Double
806
ToDouble ← Phi#90
I[0, 9]: Double
104
Add ← Unbox#101, ToDouble#806 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
108
Call ← Constant#8, Constant#2, Add#104
Value
113
Unbox Phi#86 to Int32 (fallible)
Int32
116
Add ← Unbox#113, Phi#90 [int32]
I[-2147483648, ?] (< pow(2, 32+1)): Int32
120
Goto → block 3
Block 3
123
Lsh ← Add#116, Constant#37
I[-2147483648, 2147483647]: Int32
125
Rsh ← Add#116, Constant#37
I[-1073741824, 1073741823]: Int32
126
Constant 0xff
I[255, 255]: Int32
127
BitAnd ← Add#116, Constant#126
I[0, 255]: Int32
129
Ursh ← Add#116, Constant#42
I[0, 1073741823]: Int32
130
Add ← BitAnd#127, Ursh#129 [int32]
I[0, 1073742078]: Int32
131
BitNot ← Add#116
I[-2147483648, 2147483647]: Int32
132
Sub ← Add#130, BitNot#131 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
133
BitXor ← Rsh#125, Sub#132
I[-2147483648, 2147483647]: Int32
134
BitOr ← Lsh#123, BitXor#133
I[-2147483648, 2147483647]: Int32
135
Goto → block 4
Block 4
143
Call ← Constant#24, Constant#2, Phi#87, Call#108
Value
149
NewArrayObject ← Constant#30
Object
151
Elements ← NewArrayObject#149
Elements
152
PostWriteBarrier ← NewArrayObject#149, Call#108
153
StoreElement ← Elements#151, Constant#32, Call#108
154
SetInitializedLength ← Elements#151, Constant#32
156
Elements ← NewArrayObject#149
Elements
157
PostWriteBarrier ← NewArrayObject#149, BitOr#134
158
StoreElement ← Elements#156, Constant#37, BitOr#134
159
SetInitializedLength ← Elements#156, Constant#37
161
Elements ← NewArrayObject#149
Elements
162
PostWriteBarrier ← NewArrayObject#149, Call#143
163
StoreElement ← Elements#161, Constant#42, Call#143
164
SetInitializedLength ← Elements#161, Constant#42
166
Elements ← NewArrayObject#149
Elements
167
PostWriteBarrier ← NewArrayObject#149, Phi#90
168
StoreElement ← Elements#166, Constant#47, Phi#90
169
SetInitializedLength ← Elements#166, Constant#47
173
Goto → block 5
Block 5
176
GuardShape ← NewArrayObject#149
Object
178
Constant function map (self-hosted:163) at 104289c47920
Object
179
Constant function complex4/< (-e:18) at 104289c63d28
Object
180
Lambda ← FunctionEnvironment#175, Constant#179
Object
184
Goto → block 6
Block 6
186
Constant function ToObject at 104289c6c740
Object
187
Box ← Constant#186
Value
188
DebugCheckSelfHosted ← Box#187
Value
191
Constant function ToLength at 104289c6c778
Object
192
Box ← Constant#191
Value
193
DebugCheckSelfHosted ← Box#192
Value
195
GuardShape ← NewArrayObject#149
Object
196
Elements ← GuardShape#195
Elements
197
ArrayLength ← Elements#196
I[0, 2147483647]: Int32
808
Goto → block 7
Block 7
213
Constant function IsCallable at 104289c6c7b0
Object
214
Box ← Constant#213
Value
215
DebugCheckSelfHosted ← Box#214
Value
809
AssertClass ← Lambda#180
811
Goto → block 8
Block 8
813
Goto → block 9
Block 9
238
Box ← Constant#2
Value
239
Goto → block 10
Block 10
241
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
242
Box ← Constant#241
Value
243
DebugCheckSelfHosted ← Box#242
Value
246
HasShape ← NewArrayObject#149
Bool
247
Test ← HasShape#246 → block 11, block 12
1
0
Block 11
248
Constant function std_Array at 104289c6c820
Object
249
Box ← Constant#248
Value
250
DebugCheckSelfHosted ← Box#249
Value
253
Unbox DebugCheckSelfHosted#250 to Object (fallible)
Object
255
GuardSpecificFunction ← Unbox#253, Constant#248
Object
256
NewArrayDynamicLength ← ArrayLength#197
Object
257
Goto → block 13
Block 12
258
CallGetIntrinsicValue
Value
259
DebugCheckSelfHosted ← CallGetIntrinsicValue#258
Value
261
Bail
262
Unreachable
Block 13
279
GuardShape ← NewArrayObject#149
Object
816
Constant 2
I[2, 2]: Double
318
GuardShape ← NewArrayDynamicLength#256
Object
264
Goto → block 14
Block 14 (loop header)
265
Phi ← Constant#32, Add#326
I[0 {}, 2147483647 {[loop] #197-1}]: Int32
267
InterruptCheck
272
Compare ← Phi#265, ArrayLength#197 Lt
Bool
273
Test ← Compare#272 → block 15, block 20
1
0
Block 15
280
Elements ← GuardShape#279
Elements
281
InitializedLength ← Elements#280
I[0, 268435453]: Int32
282
BoundsCheck ← Phi#265, InitializedLength#281
I[0, 2147483646]: Int32
283
SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281
I[0, 2147483646]: Int32
284
GuardElementNotHole ← Elements#280, SpectreMaskIndex#283
814
Goto → block 16
Block 16
299
GuardElementsArePacked ← Elements#280
300
LoadElement ← Elements#280, SpectreMaskIndex#283
Value
815
AssertClass ← Lambda#180
306
Goto → block 17
Block 17
309
Unbox LoadElement#300 to Double (fallible)
Double
311
Mul ← Unbox#309, Constant#816 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
312
Goto → block 18
Block 18
319
Elements ← GuardShape#318
Elements
320
StoreElementHole ← GuardShape#318, Elements#319, Phi#265, Mul#311
321
Goto → block 19
Block 19 (backedge)
326
Add ← Phi#265, Constant#37 [int32]
I[1, 2147483647]: Int32
327
Goto → block 14
Block 20
330
GuardShape ← NewArrayDynamicLength#256
Object
332
Constant function filter (self-hosted:183) at 104289c47970
Object
333
Constant function complex4/< (-e:18) at 104289c63d60
Object
334
Lambda ← FunctionEnvironment#175, Constant#333
Object
338
Goto → block 21
Block 21
342
DebugCheckSelfHosted ← Box#187
Value
349
DebugCheckSelfHosted ← Box#192
Value
351
GuardShape ← NewArrayDynamicLength#256
Object
352
Elements ← GuardShape#351
Elements
353
ArrayLength ← Elements#352
I[0, 2147483647]: Int32
818
Goto → block 22
Block 22
371
DebugCheckSelfHosted ← Box#214
Value
819
AssertClass ← Lambda#334
821
Goto → block 23
Block 23
823
Goto → block 24
Block 24
395
Goto → block 25
Block 25
399
DebugCheckSelfHosted ← Box#242
Value
402
HasShape ← NewArrayDynamicLength#256
Bool
403
Test ← HasShape#402 → block 26, block 27
1
0
Block 26
405
NewArrayObject ← Constant#30
Object
406
Goto → block 28
Block 27
407
CallGetIntrinsicValue
Value
408
DebugCheckSelfHosted ← CallGetIntrinsicValue#407
Value
411
Bail
412
Unreachable
Block 28
431
GuardShape ← NewArrayDynamicLength#256
Object
826
Constant 50
I[50, 50]: Double
473
GuardShape ← NewArrayObject#405
Object
415
Goto → block 29
Block 29 (loop header)
416
Phi ← Constant#32, Add#482
I[0 {}, 2147483647 {[loop] #353-1}]: Int32
417
Phi ← Constant#32, Phi#477
Int32
419
InterruptCheck
424
Compare ← Phi#416, ArrayLength#353 Lt
Bool
425
Test ← Compare#424 → block 30, block 37
1
0
Block 30
432
Elements ← GuardShape#431
Elements
433
InitializedLength ← Elements#432
I[0, 268435453]: Int32
434
BoundsCheck ← Phi#416, InitializedLength#433
I[0, 2147483646]: Int32
435
SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433
I[0, 2147483646]: Int32
436
GuardElementNotHole ← Elements#432, SpectreMaskIndex#435
824
Goto → block 31
Block 31
451
GuardElementsArePacked ← Elements#432
452
LoadElement ← Elements#432, SpectreMaskIndex#435
Value
825
AssertClass ← Lambda#334
458
Goto → block 32
Block 32
461
Unbox LoadElement#452 to Double (fallible)
Double
463
Compare ← Unbox#461, Constant#826 Gt
Bool
464
Goto → block 33
Block 33
465
Test ← Compare#463 → block 35, block 34
1
0
Block 34 (split edge)
466
Goto → block 36
Block 35
470
Add ← Phi#417, Constant#37 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
474
Elements ← GuardShape#473
Elements
475
StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452
476
Goto → block 36
Block 36 (backedge)
477
Phi ← Add#470, Phi#417
Int32
482
Add ← Phi#416, Constant#37 [int32]
I[1, 2147483647]: Int32
483
Goto → block 29
Block 37
486
GuardShape ← NewArrayObject#405
Object
488
Constant function reduce (self-hosted:205) at 104289c479c0
Object
489
Constant function complex4/< (-e:18) at 104289c63d98
Object
490
Lambda ← FunctionEnvironment#175, Constant#489
Object
495
Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32
Value
496
Goto → block 38
Block 38
501
Constant shape at 104289c64fc0
Shape
502
NewPlainObject ← Constant#501
Object
503
GuardShape ← NewPlainObject#502
Object
504
PostWriteBarrier ← GuardShape#503, Call#108
505
StoreFixedSlot ← GuardShape#503, Call#108 (slot 0)
507
PostWriteBarrier ← GuardShape#503, BitOr#134
508
StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1)
510
PostWriteBarrier ← GuardShape#503, Call#143
511
StoreFixedSlot ← GuardShape#503, Call#143 (slot 2)
515
Goto → block 39
Block 39
518
Constant object 104289c3f078 (Call)
Object
519
NewCallObject ← Constant#518
Object
520
Box ← FunctionEnvironment#517
Value
521
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520
522
Box ← Constant#76
Value
523
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522
524
StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0)
525
StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1)
526
PostWriteBarrier ← NewCallObject#519, NewPlainObject#502
527
StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2)
828
AssertClass ← NewPlainObject#502
540
ObjectKeys ← NewPlainObject#502
Object
541
GuardShape ← ObjectKeys#540
Object
544
Constant function complex5/< (-e:22) at 104289c63e08
Object
545
Lambda ← NewCallObject#519, Constant#544
Object
549
Goto → block 40
Block 40
553
DebugCheckSelfHosted ← Box#187
Value
558
DebugCheckSelfHosted ← Box#192
Value
560
GuardShape ← ObjectKeys#540
Object
561
Elements ← GuardShape#560
Elements
562
ArrayLength ← Elements#561
I[0, 2147483647]: Int32
830
Goto → block 41
Block 41
580
DebugCheckSelfHosted ← Box#214
Value
831
AssertClass ← Lambda#545
833
Goto → block 42
Block 42
835
Goto → block 43
Block 43
604
Goto → block 44
Block 44
608
DebugCheckSelfHosted ← Box#242
Value
611
HasShape ← ObjectKeys#540
Bool
612
Test ← HasShape#611 → block 45, block 46
1
0
Block 45
615
DebugCheckSelfHosted ← Box#249
Value
618
Unbox DebugCheckSelfHosted#615 to Object (fallible)
Object
620
GuardSpecificFunction ← Unbox#618, Constant#248
Object
621
NewArrayDynamicLength ← ArrayLength#562
Object
622
Goto → block 47
Block 46
623
CallGetIntrinsicValue
Value
624
DebugCheckSelfHosted ← CallGetIntrinsicValue#623
Value
626
Bail
627
Unreachable
Block 47
644
GuardShape ← ObjectKeys#540
Object
674
LoadFixedSlot ← NewCallObject#519 (slot 2)
Value
675
Unbox LoadFixedSlot#674 to Object (fallible)
Object
683
GuardShape ← NewArrayDynamicLength#621
Object
629
Goto → block 48
Block 48 (loop header)
630
Phi ← Constant#32, Add#691
I[0 {}, 2147483647 {[loop] #562-1}]: Int32
632
InterruptCheck
637
Compare ← Phi#630, ArrayLength#562 Lt
Bool
638
Test ← Compare#637 → block 49, block 54
1
0
Block 49
645
Elements ← GuardShape#644
Elements
646
InitializedLength ← Elements#645
I[0, 268435453]: Int32
647
BoundsCheck ← Phi#630, InitializedLength#646
I[0, 2147483646]: Int32
648
SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646
I[0, 2147483646]: Int32
649
GuardElementNotHole ← Elements#645, SpectreMaskIndex#648
836
Goto → block 50
Block 50
664
GuardElementsArePacked ← Elements#645
665
LoadElement ← Elements#645, SpectreMaskIndex#648
Value
837
AssertClass ← Lambda#545
671
Goto → block 51
Block 51
676
MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665
Value
677
Goto → block 52
Block 52
684
Elements ← GuardShape#683
Elements
685
StoreElementHole ← GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676
686
Goto → block 53
Block 53 (backedge)
691
Add ← Phi#630, Constant#37 [int32]
I[1, 2147483647]: Int32
692
Goto → block 48
Block 54
695
GuardShape ← NewArrayDynamicLength#621
Object
698
Constant function complex5/< (-e:22) at 104289c63e40
Object
699
Lambda ← NewCallObject#519, Constant#698
Object
704
Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32
Value
705
Goto → block 55
Block 55 (backedge)
709
Add ← Phi#90, Constant#37 [int32]
I[1, 10]: Int32
710
Box ← BitOr#134
Value
711
Goto → block 1
Block 56
712
Unbox Phi#85 to Double (fallible)
Double
713
Unbox Phi#86 to Double (fallible)
Double
714
Add ← Unbox#712, Unbox#713 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
715
Unbox Phi#87 to Double (fallible)
Double
716
Add ← Add#714, Unbox#715 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
717
Unbox Phi#88 to Double (fallible)
Double
718
Add ← Add#716, Unbox#717 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
719
Unbox Phi#89 to Double (fallible)
Double
720
Add ← Add#718, Unbox#719 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
721
Box ← Add#720
Value
722
Return ← Box#721
Block 0
805
Constant magic optimized-out
MagicOptimizedOut
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
13
Call ← Constant#8, Constant#2, Parameter#1
Value
16
Constant function complex2 (-e:7) at 104289c6c970
Object
21
Call ← Constant#16, Constant#2, Parameter#1
Value
24
Constant function complex3 (-e:11) at 104289c6c938
Object
29
Call ← Constant#24, Constant#2, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
I[0, 0]: Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
I[1, 1]: Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
I[2, 2]: Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
I[3, 3]: Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
54
Constant function complex4 (-e:17) at 104289c6c890
Object
59
Call ← Constant#54, Constant#2, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
66
PostWriteBarrier ← GuardShape#62, Call#21
67
StoreFixedSlot ← GuardShape#62, Call#21 (slot 1)
69
PostWriteBarrier ← GuardShape#62, Call#29
70
StoreFixedSlot ← GuardShape#62, Call#29 (slot 2)
72
PostWriteBarrier ← GuardShape#62, Call#59
73
StoreFixedSlot ← GuardShape#62, Call#59 (slot 3)
76
Constant function complex5 (-e:21) at 104289c6c900
Object
81
Call ← Constant#76, Constant#2, NewPlainObject#61
Value
175
FunctionEnvironment ← Constant#54
Object
517
FunctionEnvironment ← Constant#76
Object
84
Goto → block 1
Block 1 (loop header)
85
Phi ← Call#13, Call#108
Value
86
Phi ← Call#21, Box#710
Value
87
Phi ← Call#29, Call#143
Value
88
Phi ← Call#59, Call#495
Value
89
Phi ← Call#81, Call#704
Value
90
Phi ← Constant#32, Add#709
I[0 {}, 2147483647 {[loop] +9}]: Int32
91
InterruptCheck
92
Constant 0xa
I[10, 10]: Int32
95
Compare ← Phi#90, Constant#92 Lt
Bool
96
Test ← Compare#95 → block 2, block 56
1
0
Block 2
101
Unbox Phi#85 to Double (fallible)
Double
806
ToDouble ← Phi#90
I[0, 9]: Double
104
Add ← Unbox#101, ToDouble#806 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
108
Call ← Constant#8, Constant#2, Add#104
Value
113
Unbox Phi#86 to Int32 (fallible)
Int32
116
Add ← Unbox#113, Phi#90 [int32]
I[-2147483648, ?] (< pow(2, 32+1)): Int32
120
Goto → block 3
Block 3
123
Lsh ← Add#116, Constant#37
I[-2147483648, 2147483647]: Int32
125
Rsh ← Add#116, Constant#37
I[-1073741824, 1073741823]: Int32
126
Constant 0xff
I[255, 255]: Int32
127
BitAnd ← Add#116, Constant#126
I[0, 255]: Int32
129
Ursh ← Add#116, Constant#42
I[0, 1073741823]: Int32
130
Add ← BitAnd#127, Ursh#129 [int32]
I[0, 1073742078]: Int32
131
BitNot ← Add#116
I[-2147483648, 2147483647]: Int32
132
Sub ← Add#130, BitNot#131 [int32]
I[-2147483648, 2147483647]: Int32 (t)
133
BitXor ← Rsh#125, Sub#132
I[-2147483648, 2147483647]: Int32
134
BitOr ← Lsh#123, BitXor#133
I[-2147483648, 2147483647]: Int32
135
Goto → block 4
Block 4
143
Call ← Constant#24, Constant#2, Phi#87, Call#108
Value
149
NewArrayObject ← Constant#30
Object
151
Elements ← NewArrayObject#149
Elements
152
PostWriteBarrier ← NewArrayObject#149, Call#108
153
StoreElement ← Elements#151, Constant#32, Call#108
154
SetInitializedLength ← Elements#151, Constant#32
156
Elements ← NewArrayObject#149
Elements
157
PostWriteBarrier ← NewArrayObject#149, BitOr#134
158
StoreElement ← Elements#156, Constant#37, BitOr#134
159
SetInitializedLength ← Elements#156, Constant#37
161
Elements ← NewArrayObject#149
Elements
162
PostWriteBarrier ← NewArrayObject#149, Call#143
163
StoreElement ← Elements#161, Constant#42, Call#143
164
SetInitializedLength ← Elements#161, Constant#42
166
Elements ← NewArrayObject#149
Elements
167
PostWriteBarrier ← NewArrayObject#149, Phi#90
168
StoreElement ← Elements#166, Constant#47, Phi#90
169
SetInitializedLength ← Elements#166, Constant#47
173
Goto → block 5
Block 5
176
GuardShape ← NewArrayObject#149
Object
178
Constant function map (self-hosted:163) at 104289c47920
Object
179
Constant function complex4/< (-e:18) at 104289c63d28
Object
180
Lambda ← FunctionEnvironment#175, Constant#179
Object
184
Goto → block 6
Block 6
186
Constant function ToObject at 104289c6c740
Object
187
Box ← Constant#186
Value
188
DebugCheckSelfHosted ← Box#187
Value
191
Constant function ToLength at 104289c6c778
Object
192
Box ← Constant#191
Value
193
DebugCheckSelfHosted ← Box#192
Value
195
GuardShape ← NewArrayObject#149
Object
196
Elements ← GuardShape#195
Elements
197
ArrayLength ← Elements#196
I[0, 2147483647]: Int32
808
Goto → block 7
Block 7
213
Constant function IsCallable at 104289c6c7b0
Object
214
Box ← Constant#213
Value
215
DebugCheckSelfHosted ← Box#214
Value
809
AssertClass ← Lambda#180
811
Goto → block 8
Block 8
813
Goto → block 9
Block 9
238
Box ← Constant#2
Value
239
Goto → block 10
Block 10
241
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
242
Box ← Constant#241
Value
243
DebugCheckSelfHosted ← Box#242
Value
246
HasShape ← NewArrayObject#149
Bool
247
Test ← HasShape#246 → block 11, block 12
1
0
Block 11
248
Constant function std_Array at 104289c6c820
Object
249
Box ← Constant#248
Value
250
DebugCheckSelfHosted ← Box#249
Value
253
Unbox DebugCheckSelfHosted#250 to Object (fallible)
Object
255
GuardSpecificFunction ← Unbox#253, Constant#248
Object
256
NewArrayDynamicLength ← ArrayLength#197
Object
257
Goto → block 13
Block 12
258
CallGetIntrinsicValue
Value
259
DebugCheckSelfHosted ← CallGetIntrinsicValue#258
Value
261
Bail
262
Unreachable
Block 13
279
GuardShape ← NewArrayObject#149
Object
816
Constant 2
I[2, 2]: Double
318
GuardShape ← NewArrayDynamicLength#256
Object
264
Goto → block 14
Block 14 (loop header)
265
Phi ← Constant#32, Add#326
I[0 {}, 2147483647 {[loop] #197-1}]: Int32
267
InterruptCheck
272
Compare ← Phi#265, ArrayLength#197 Lt
Bool
273
Test ← Compare#272 → block 15, block 20
1
0
Block 15
280
Elements ← GuardShape#279
Elements
281
InitializedLength ← Elements#280
I[0, 268435453]: Int32
282
BoundsCheck ← Phi#265, InitializedLength#281
I[0, 2147483646]: Int32
283
SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281
I[0, 2147483646]: Int32
284
GuardElementNotHole ← Elements#280, SpectreMaskIndex#283
814
Goto → block 16
Block 16
299
GuardElementsArePacked ← Elements#280
300
LoadElement ← Elements#280, SpectreMaskIndex#283
Value
815
AssertClass ← Lambda#180
306
Goto → block 17
Block 17
309
Unbox LoadElement#300 to Double (fallible)
Double
311
Mul ← Unbox#309, Constant#816 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
312
Goto → block 18
Block 18
319
Elements ← GuardShape#318
Elements
320
StoreElementHole ← GuardShape#318, Elements#319, Phi#265, Mul#311
321
Goto → block 19
Block 19 (backedge)
326
Add ← Phi#265, Constant#37 [int32]
I[1, 2147483647]: Int32
327
Goto → block 14
Block 20
330
GuardShape ← NewArrayDynamicLength#256
Object
332
Constant function filter (self-hosted:183) at 104289c47970
Object
333
Constant function complex4/< (-e:18) at 104289c63d60
Object
334
Lambda ← FunctionEnvironment#175, Constant#333
Object
338
Goto → block 21
Block 21
342
DebugCheckSelfHosted ← Box#187
Value
349
DebugCheckSelfHosted ← Box#192
Value
351
GuardShape ← NewArrayDynamicLength#256
Object
352
Elements ← GuardShape#351
Elements
353
ArrayLength ← Elements#352
I[0, 2147483647]: Int32
818
Goto → block 22
Block 22
371
DebugCheckSelfHosted ← Box#214
Value
819
AssertClass ← Lambda#334
821
Goto → block 23
Block 23
823
Goto → block 24
Block 24
395
Goto → block 25
Block 25
399
DebugCheckSelfHosted ← Box#242
Value
402
HasShape ← NewArrayDynamicLength#256
Bool
403
Test ← HasShape#402 → block 26, block 27
1
0
Block 26
405
NewArrayObject ← Constant#30
Object
406
Goto → block 28
Block 27
407
CallGetIntrinsicValue
Value
408
DebugCheckSelfHosted ← CallGetIntrinsicValue#407
Value
411
Bail
412
Unreachable
Block 28
431
GuardShape ← NewArrayDynamicLength#256
Object
826
Constant 50
I[50, 50]: Double
473
GuardShape ← NewArrayObject#405
Object
415
Goto → block 29
Block 29 (loop header)
416
Phi ← Constant#32, Add#482
I[0 {}, 2147483647 {[loop] #353-1}]: Int32
417
Phi ← Constant#32, Phi#477
Int32
419
InterruptCheck
424
Compare ← Phi#416, ArrayLength#353 Lt
Bool
425
Test ← Compare#424 → block 30, block 37
1
0
Block 30
432
Elements ← GuardShape#431
Elements
433
InitializedLength ← Elements#432
I[0, 268435453]: Int32
434
BoundsCheck ← Phi#416, InitializedLength#433
I[0, 2147483646]: Int32
435
SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433
I[0, 2147483646]: Int32
436
GuardElementNotHole ← Elements#432, SpectreMaskIndex#435
824
Goto → block 31
Block 31
451
GuardElementsArePacked ← Elements#432
452
LoadElement ← Elements#432, SpectreMaskIndex#435
Value
825
AssertClass ← Lambda#334
458
Goto → block 32
Block 32
461
Unbox LoadElement#452 to Double (fallible)
Double
463
Compare ← Unbox#461, Constant#826 Gt
Bool
464
Goto → block 33
Block 33
465
Test ← Compare#463 → block 35, block 34
1
0
Block 34 (split edge)
466
Goto → block 36
Block 35
470
Add ← Phi#417, Constant#37 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
474
Elements ← GuardShape#473
Elements
475
StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452
476
Goto → block 36
Block 36 (backedge)
477
Phi ← Add#470, Phi#417
Int32
482
Add ← Phi#416, Constant#37 [int32]
I[1, 2147483647]: Int32
483
Goto → block 29
Block 37
486
GuardShape ← NewArrayObject#405
Object
488
Constant function reduce (self-hosted:205) at 104289c479c0
Object
489
Constant function complex4/< (-e:18) at 104289c63d98
Object
490
Lambda ← FunctionEnvironment#175, Constant#489
Object
495
Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32
Value
496
Goto → block 38
Block 38
501
Constant shape at 104289c64fc0
Shape
502
NewPlainObject ← Constant#501
Object
503
GuardShape ← NewPlainObject#502
Object
504
PostWriteBarrier ← GuardShape#503, Call#108
505
StoreFixedSlot ← GuardShape#503, Call#108 (slot 0)
507
PostWriteBarrier ← GuardShape#503, BitOr#134
508
StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1)
510
PostWriteBarrier ← GuardShape#503, Call#143
511
StoreFixedSlot ← GuardShape#503, Call#143 (slot 2)
515
Goto → block 39
Block 39
518
Constant object 104289c3f078 (Call)
Object
519
NewCallObject ← Constant#518
Object
520
Box ← FunctionEnvironment#517
Value
521
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520
522
Box ← Constant#76
Value
523
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522
524
StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0)
525
StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1)
526
PostWriteBarrier ← NewCallObject#519, NewPlainObject#502
527
StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2)
828
AssertClass ← NewPlainObject#502
540
ObjectKeys ← NewPlainObject#502
Object
541
GuardShape ← ObjectKeys#540
Object
544
Constant function complex5/< (-e:22) at 104289c63e08
Object
545
Lambda ← NewCallObject#519, Constant#544
Object
549
Goto → block 40
Block 40
553
DebugCheckSelfHosted ← Box#187
Value
558
DebugCheckSelfHosted ← Box#192
Value
560
GuardShape ← ObjectKeys#540
Object
561
Elements ← GuardShape#560
Elements
562
ArrayLength ← Elements#561
I[0, 2147483647]: Int32
830
Goto → block 41
Block 41
580
DebugCheckSelfHosted ← Box#214
Value
831
AssertClass ← Lambda#545
833
Goto → block 42
Block 42
835
Goto → block 43
Block 43
604
Goto → block 44
Block 44
608
DebugCheckSelfHosted ← Box#242
Value
611
HasShape ← ObjectKeys#540
Bool
612
Test ← HasShape#611 → block 45, block 46
1
0
Block 45
615
DebugCheckSelfHosted ← Box#249
Value
618
Unbox DebugCheckSelfHosted#615 to Object (fallible)
Object
620
GuardSpecificFunction ← Unbox#618, Constant#248
Object
621
NewArrayDynamicLength ← ArrayLength#562
Object
622
Goto → block 47
Block 46
623
CallGetIntrinsicValue
Value
624
DebugCheckSelfHosted ← CallGetIntrinsicValue#623
Value
626
Bail
627
Unreachable
Block 47
644
GuardShape ← ObjectKeys#540
Object
674
LoadFixedSlot ← NewCallObject#519 (slot 2)
Value
675
Unbox LoadFixedSlot#674 to Object (fallible)
Object
683
GuardShape ← NewArrayDynamicLength#621
Object
629
Goto → block 48
Block 48 (loop header)
630
Phi ← Constant#32, Add#691
I[0 {}, 2147483647 {[loop] #562-1}]: Int32
632
InterruptCheck
637
Compare ← Phi#630, ArrayLength#562 Lt
Bool
638
Test ← Compare#637 → block 49, block 54
1
0
Block 49
645
Elements ← GuardShape#644
Elements
646
InitializedLength ← Elements#645
I[0, 268435453]: Int32
647
BoundsCheck ← Phi#630, InitializedLength#646
I[0, 2147483646]: Int32
648
SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646
I[0, 2147483646]: Int32
649
GuardElementNotHole ← Elements#645, SpectreMaskIndex#648
836
Goto → block 50
Block 50
664
GuardElementsArePacked ← Elements#645
665
LoadElement ← Elements#645, SpectreMaskIndex#648
Value
837
AssertClass ← Lambda#545
671
Goto → block 51
Block 51
676
MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665
Value
677
Goto → block 52
Block 52
684
Elements ← GuardShape#683
Elements
685
StoreElementHole ← GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676
686
Goto → block 53
Block 53 (backedge)
691
Add ← Phi#630, Constant#37 [int32]
I[1, 2147483647]: Int32
692
Goto → block 48
Block 54
695
GuardShape ← NewArrayDynamicLength#621
Object
698
Constant function complex5/< (-e:22) at 104289c63e40
Object
699
Lambda ← NewCallObject#519, Constant#698
Object
704
Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32
Value
705
Goto → block 55
Block 55 (backedge)
709
Add ← Phi#90, Constant#37 [int32]
I[1, 10]: Int32
710
Box ← BitOr#134
Value
711
Goto → block 1
Block 56
712
Unbox Phi#85 to Double (fallible)
Double
713
Unbox Phi#86 to Double (fallible)
Double
714
Add ← Unbox#712, Unbox#713 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
715
Unbox Phi#87 to Double (fallible)
Double
716
Add ← Add#714, Unbox#715 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
717
Unbox Phi#88 to Double (fallible)
Double
718
Add ← Add#716, Unbox#717 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
719
Unbox Phi#89 to Double (fallible)
Double
720
Add ← Add#718, Unbox#719 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
721
Box ← Add#720
Value
722
Return ← Box#721
Block 0
805
Constant magic optimized-out
MagicOptimizedOut
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
13
Call ← Constant#8, Constant#2, Parameter#1
Value
16
Constant function complex2 (-e:7) at 104289c6c970
Object
21
Call ← Constant#16, Constant#2, Parameter#1
Value
24
Constant function complex3 (-e:11) at 104289c6c938
Object
29
Call ← Constant#24, Constant#2, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
I[0, 0]: Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
I[1, 1]: Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
I[2, 2]: Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
I[3, 3]: Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
54
Constant function complex4 (-e:17) at 104289c6c890
Object
59
Call ← Constant#54, Constant#2, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
66
PostWriteBarrier ← GuardShape#62, Call#21
67
StoreFixedSlot ← GuardShape#62, Call#21 (slot 1)
69
PostWriteBarrier ← GuardShape#62, Call#29
70
StoreFixedSlot ← GuardShape#62, Call#29 (slot 2)
72
PostWriteBarrier ← GuardShape#62, Call#59
73
StoreFixedSlot ← GuardShape#62, Call#59 (slot 3)
76
Constant function complex5 (-e:21) at 104289c6c900
Object
81
Call ← Constant#76, Constant#2, NewPlainObject#61
Value
175
FunctionEnvironment ← Constant#54
Object
517
FunctionEnvironment ← Constant#76
Object
84
Goto → block 1
Block 1 (loop header)
85
Phi ← Call#13, Call#108
Value
86
Phi ← Call#21, Box#710
Value
87
Phi ← Call#29, Call#143
Value
88
Phi ← Call#59, Call#495
Value
89
Phi ← Call#81, Call#704
Value
90
Phi ← Constant#32, Add#709
I[0 {}, 2147483647 {[loop] +9}]: Int32
91
InterruptCheck
92
Constant 0xa
I[10, 10]: Int32
95
Compare ← Phi#90, Constant#92 Lt
Bool
96
Test ← Compare#95 → block 2, block 56
1
0
Block 2
101
Unbox Phi#85 to Double (fallible)
Double
806
ToDouble ← Phi#90
I[0, 9]: Double
104
Add ← Unbox#101, ToDouble#806 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
108
Call ← Constant#8, Constant#2, Add#104
Value
113
Unbox Phi#86 to Int32 (fallible)
Int32
116
Add ← Unbox#113, Phi#90 [int32]
I[-2147483648, ?] (< pow(2, 32+1)): Int32
120
Goto → block 3
Block 3
123
Lsh ← Add#116, Constant#37
I[-2147483648, 2147483647]: Int32
125
Rsh ← Add#116, Constant#37
I[-1073741824, 1073741823]: Int32
126
Constant 0xff
I[255, 255]: Int32
127
BitAnd ← Add#116, Constant#126
I[0, 255]: Int32
129
Ursh ← Add#116, Constant#42
I[0, 1073741823]: Int32
130
Add ← BitAnd#127, Ursh#129 [int32]
I[0, 1073742078]: Int32
131
BitNot ← Add#116
I[-2147483648, 2147483647]: Int32
132
Sub ← Add#130, BitNot#131 [int32]
I[-2147483648, 2147483647]: Int32 (t)
133
BitXor ← Rsh#125, Sub#132
I[-2147483648, 2147483647]: Int32
134
BitOr ← Lsh#123, BitXor#133
I[-2147483648, 2147483647]: Int32
135
Goto → block 4
Block 4
143
Call ← Constant#24, Constant#2, Phi#87, Call#108
Value
149
NewArrayObject ← Constant#30
Object
151
Elements ← NewArrayObject#149
Elements
152
PostWriteBarrier ← NewArrayObject#149, Call#108
153
StoreElement ← Elements#151, Constant#32, Call#108
154
SetInitializedLength ← Elements#151, Constant#32
156
Elements ← NewArrayObject#149
Elements
157
PostWriteBarrier ← NewArrayObject#149, BitOr#134
158
StoreElement ← Elements#156, Constant#37, BitOr#134
159
SetInitializedLength ← Elements#156, Constant#37
161
Elements ← NewArrayObject#149
Elements
162
PostWriteBarrier ← NewArrayObject#149, Call#143
163
StoreElement ← Elements#161, Constant#42, Call#143
164
SetInitializedLength ← Elements#161, Constant#42
166
Elements ← NewArrayObject#149
Elements
167
PostWriteBarrier ← NewArrayObject#149, Phi#90
168
StoreElement ← Elements#166, Constant#47, Phi#90
169
SetInitializedLength ← Elements#166, Constant#47
173
Goto → block 5
Block 5
176
GuardShape ← NewArrayObject#149
Object
178
Constant function map (self-hosted:163) at 104289c47920
Object
179
Constant function complex4/< (-e:18) at 104289c63d28
Object
180
Lambda ← FunctionEnvironment#175, Constant#179
Object
184
Goto → block 6
Block 6
186
Constant function ToObject at 104289c6c740
Object
187
Box ← Constant#186
Value
188
DebugCheckSelfHosted ← Box#187
Value
191
Constant function ToLength at 104289c6c778
Object
192
Box ← Constant#191
Value
193
DebugCheckSelfHosted ← Box#192
Value
195
GuardShape ← NewArrayObject#149
Object
196
Elements ← GuardShape#195
Elements
197
ArrayLength ← Elements#196
I[0, 2147483647]: Int32
808
Goto → block 7
Block 7
213
Constant function IsCallable at 104289c6c7b0
Object
214
Box ← Constant#213
Value
215
DebugCheckSelfHosted ← Box#214
Value
809
AssertClass ← Lambda#180
811
Goto → block 8
Block 8
813
Goto → block 9
Block 9
238
Box ← Constant#2
Value
239
Goto → block 10
Block 10
241
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
242
Box ← Constant#241
Value
243
DebugCheckSelfHosted ← Box#242
Value
246
HasShape ← NewArrayObject#149
Bool
247
Test ← HasShape#246 → block 11, block 12
1
0
Block 11
248
Constant function std_Array at 104289c6c820
Object
249
Box ← Constant#248
Value
250
DebugCheckSelfHosted ← Box#249
Value
253
Unbox DebugCheckSelfHosted#250 to Object (fallible)
Object
255
GuardSpecificFunction ← Unbox#253, Constant#248
Object
256
NewArrayDynamicLength ← ArrayLength#197
Object
257
Goto → block 13
Block 12
258
CallGetIntrinsicValue
Value
259
DebugCheckSelfHosted ← CallGetIntrinsicValue#258
Value
261
Bail
262
Unreachable
Block 13
279
GuardShape ← NewArrayObject#149
Object
816
Constant 2
I[2, 2]: Double
318
GuardShape ← NewArrayDynamicLength#256
Object
264
Goto → block 14
Block 14 (loop header)
265
Phi ← Constant#32, Add#326
I[0 {}, 2147483647 {[loop] #197-1}]: Int32
267
InterruptCheck
272
Compare ← Phi#265, ArrayLength#197 Lt
Bool
273
Test ← Compare#272 → block 15, block 20
1
0
Block 15
280
Elements ← GuardShape#279
Elements
281
InitializedLength ← Elements#280
I[0, 268435453]: Int32
282
BoundsCheck ← Phi#265, InitializedLength#281
I[0, 2147483646]: Int32
283
SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281
I[0, 2147483646]: Int32
284
GuardElementNotHole ← Elements#280, SpectreMaskIndex#283
814
Goto → block 16
Block 16
299
GuardElementsArePacked ← Elements#280
300
LoadElement ← Elements#280, SpectreMaskIndex#283
Value
815
AssertClass ← Lambda#180
306
Goto → block 17
Block 17
309
Unbox LoadElement#300 to Double (fallible)
Double
311
Mul ← Unbox#309, Constant#816 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
312
Goto → block 18
Block 18
319
Elements ← GuardShape#318
Elements
320
StoreElementHole ← GuardShape#318, Elements#319, Phi#265, Mul#311
321
Goto → block 19
Block 19 (backedge)
326
Add ← Phi#265, Constant#37 [int32]
I[1, 2147483647]: Int32
327
Goto → block 14
Block 20
330
GuardShape ← NewArrayDynamicLength#256
Object
332
Constant function filter (self-hosted:183) at 104289c47970
Object
333
Constant function complex4/< (-e:18) at 104289c63d60
Object
334
Lambda ← FunctionEnvironment#175, Constant#333
Object
338
Goto → block 21
Block 21
342
DebugCheckSelfHosted ← Box#187
Value
349
DebugCheckSelfHosted ← Box#192
Value
351
GuardShape ← NewArrayDynamicLength#256
Object
352
Elements ← GuardShape#351
Elements
353
ArrayLength ← Elements#352
I[0, 2147483647]: Int32
818
Goto → block 22
Block 22
371
DebugCheckSelfHosted ← Box#214
Value
819
AssertClass ← Lambda#334
821
Goto → block 23
Block 23
823
Goto → block 24
Block 24
395
Goto → block 25
Block 25
399
DebugCheckSelfHosted ← Box#242
Value
402
HasShape ← NewArrayDynamicLength#256
Bool
403
Test ← HasShape#402 → block 26, block 27
1
0
Block 26
405
NewArrayObject ← Constant#30
Object
406
Goto → block 28
Block 27
407
CallGetIntrinsicValue
Value
408
DebugCheckSelfHosted ← CallGetIntrinsicValue#407
Value
411
Bail
412
Unreachable
Block 28
431
GuardShape ← NewArrayDynamicLength#256
Object
826
Constant 50
I[50, 50]: Double
473
GuardShape ← NewArrayObject#405
Object
415
Goto → block 29
Block 29 (loop header)
416
Phi ← Constant#32, Add#482
I[0 {}, 2147483647 {[loop] #353-1}]: Int32
417
Phi ← Constant#32, Phi#477
Int32
419
InterruptCheck
424
Compare ← Phi#416, ArrayLength#353 Lt
Bool
425
Test ← Compare#424 → block 30, block 37
1
0
Block 30
432
Elements ← GuardShape#431
Elements
433
InitializedLength ← Elements#432
I[0, 268435453]: Int32
434
BoundsCheck ← Phi#416, InitializedLength#433
I[0, 2147483646]: Int32
435
SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433
I[0, 2147483646]: Int32
436
GuardElementNotHole ← Elements#432, SpectreMaskIndex#435
824
Goto → block 31
Block 31
451
GuardElementsArePacked ← Elements#432
452
LoadElement ← Elements#432, SpectreMaskIndex#435
Value
825
AssertClass ← Lambda#334
458
Goto → block 32
Block 32
461
Unbox LoadElement#452 to Double (fallible)
Double
463
Compare ← Unbox#461, Constant#826 Gt
Bool
464
Goto → block 33
Block 33
465
Test ← Compare#463 → block 35, block 34
1
0
Block 34 (split edge)
466
Goto → block 36
Block 35
470
Add ← Phi#417, Constant#37 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
474
Elements ← GuardShape#473
Elements
475
StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452
476
Goto → block 36
Block 36 (backedge)
477
Phi ← Add#470, Phi#417
Int32
482
Add ← Phi#416, Constant#37 [int32]
I[1, 2147483647]: Int32
483
Goto → block 29
Block 37
486
GuardShape ← NewArrayObject#405
Object
488
Constant function reduce (self-hosted:205) at 104289c479c0
Object
489
Constant function complex4/< (-e:18) at 104289c63d98
Object
490
Lambda ← FunctionEnvironment#175, Constant#489
Object
495
Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32
Value
496
Goto → block 38
Block 38
501
Constant shape at 104289c64fc0
Shape
502
NewPlainObject ← Constant#501
Object
503
GuardShape ← NewPlainObject#502
Object
504
PostWriteBarrier ← GuardShape#503, Call#108
505
StoreFixedSlot ← GuardShape#503, Call#108 (slot 0)
507
PostWriteBarrier ← GuardShape#503, BitOr#134
508
StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1)
510
PostWriteBarrier ← GuardShape#503, Call#143
511
StoreFixedSlot ← GuardShape#503, Call#143 (slot 2)
515
Goto → block 39
Block 39
518
Constant object 104289c3f078 (Call)
Object
519
NewCallObject ← Constant#518
Object
520
Box ← FunctionEnvironment#517
Value
521
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520
522
Box ← Constant#76
Value
523
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522
524
StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0)
525
StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1)
526
PostWriteBarrier ← NewCallObject#519, NewPlainObject#502
527
StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2)
828
AssertClass ← NewPlainObject#502
540
ObjectKeys ← NewPlainObject#502
Object
541
GuardShape ← ObjectKeys#540
Object
544
Constant function complex5/< (-e:22) at 104289c63e08
Object
545
Lambda ← NewCallObject#519, Constant#544
Object
549
Goto → block 40
Block 40
553
DebugCheckSelfHosted ← Box#187
Value
558
DebugCheckSelfHosted ← Box#192
Value
560
GuardShape ← ObjectKeys#540
Object
561
Elements ← GuardShape#560
Elements
562
ArrayLength ← Elements#561
I[0, 2147483647]: Int32
830
Goto → block 41
Block 41
580
DebugCheckSelfHosted ← Box#214
Value
831
AssertClass ← Lambda#545
833
Goto → block 42
Block 42
835
Goto → block 43
Block 43
604
Goto → block 44
Block 44
608
DebugCheckSelfHosted ← Box#242
Value
611
HasShape ← ObjectKeys#540
Bool
612
Test ← HasShape#611 → block 45, block 46
1
0
Block 45
615
DebugCheckSelfHosted ← Box#249
Value
618
Unbox DebugCheckSelfHosted#615 to Object (fallible)
Object
620
GuardSpecificFunction ← Unbox#618, Constant#248
Object
621
NewArrayDynamicLength ← ArrayLength#562
Object
622
Goto → block 47
Block 46
623
CallGetIntrinsicValue
Value
624
DebugCheckSelfHosted ← CallGetIntrinsicValue#623
Value
626
Bail
627
Unreachable
Block 47
644
GuardShape ← ObjectKeys#540
Object
674
LoadFixedSlot ← NewCallObject#519 (slot 2)
Value
675
Unbox LoadFixedSlot#674 to Object (fallible)
Object
683
GuardShape ← NewArrayDynamicLength#621
Object
629
Goto → block 48
Block 48 (loop header)
630
Phi ← Constant#32, Add#691
I[0 {}, 2147483647 {[loop] #562-1}]: Int32
632
InterruptCheck
637
Compare ← Phi#630, ArrayLength#562 Lt
Bool
638
Test ← Compare#637 → block 49, block 54
1
0
Block 49
645
Elements ← GuardShape#644
Elements
646
InitializedLength ← Elements#645
I[0, 268435453]: Int32
647
BoundsCheck ← Phi#630, InitializedLength#646
I[0, 2147483646]: Int32
648
SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646
I[0, 2147483646]: Int32
649
GuardElementNotHole ← Elements#645, SpectreMaskIndex#648
836
Goto → block 50
Block 50
664
GuardElementsArePacked ← Elements#645
665
LoadElement ← Elements#645, SpectreMaskIndex#648
Value
837
AssertClass ← Lambda#545
671
Goto → block 51
Block 51
676
MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665
Value
677
Goto → block 52
Block 52
684
Elements ← GuardShape#683
Elements
685
StoreElementHole ← GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676
686
Goto → block 53
Block 53 (backedge)
691
Add ← Phi#630, Constant#37 [int32]
I[1, 2147483647]: Int32
692
Goto → block 48
Block 54
695
GuardShape ← NewArrayDynamicLength#621
Object
698
Constant function complex5/< (-e:22) at 104289c63e40
Object
699
Lambda ← NewCallObject#519, Constant#698
Object
704
Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32
Value
705
Goto → block 55
Block 55 (backedge)
709
Add ← Phi#90, Constant#37 [int32]
I[1, 10]: Int32
710
Box ← BitOr#134
Value
711
Goto → block 1
Block 56
712
Unbox Phi#85 to Double (fallible)
Double
713
Unbox Phi#86 to Double (fallible)
Double
714
Add ← Unbox#712, Unbox#713 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
715
Unbox Phi#87 to Double (fallible)
Double
716
Add ← Add#714, Unbox#715 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
717
Unbox Phi#88 to Double (fallible)
Double
718
Add ← Add#716, Unbox#717 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
719
Unbox Phi#89 to Double (fallible)
Double
720
Add ← Add#718, Unbox#719 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
721
Box ← Add#720
Value
722
Return ← Box#721
Block 0
805
Constant magic optimized-out
MagicOptimizedOut
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
13
Call ← Constant#8, Constant#2, Parameter#1
Value
16
Constant function complex2 (-e:7) at 104289c6c970
Object
21
Call ← Constant#16, Constant#2, Parameter#1
Value
24
Constant function complex3 (-e:11) at 104289c6c938
Object
29
Call ← Constant#24, Constant#2, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
I[0, 0]: Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
I[1, 1]: Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
I[2, 2]: Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
I[3, 3]: Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
54
Constant function complex4 (-e:17) at 104289c6c890
Object
59
Call ← Constant#54, Constant#2, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
66
PostWriteBarrier ← GuardShape#62, Call#21
67
StoreFixedSlot ← GuardShape#62, Call#21 (slot 1)
69
PostWriteBarrier ← GuardShape#62, Call#29
70
StoreFixedSlot ← GuardShape#62, Call#29 (slot 2)
72
PostWriteBarrier ← GuardShape#62, Call#59
73
StoreFixedSlot ← GuardShape#62, Call#59 (slot 3)
76
Constant function complex5 (-e:21) at 104289c6c900
Object
81
Call ← Constant#76, Constant#2, NewPlainObject#61
Value
175
FunctionEnvironment ← Constant#54
Object
517
FunctionEnvironment ← Constant#76
Object
84
Goto → block 1
Block 1 (loop header)
85
Phi ← Call#13, Call#108
Value
86
Phi ← Call#21, Box#710
Value
87
Phi ← Call#29, Call#143
Value
88
Phi ← Call#59, Call#495
Value
89
Phi ← Call#81, Call#704
Value
90
Phi ← Constant#32, Add#709
I[0 {}, 2147483647 {[loop] +9}]: Int32
91
InterruptCheck
92
Constant 0xa
I[10, 10]: Int32
95
Compare ← Phi#90, Constant#92 Lt
Bool
96
Test ← Compare#95 → block 2, block 56
1
0
Block 2
101
Unbox Phi#85 to Double (fallible)
Double
806
ToDouble ← Phi#90
I[0, 9]: Double
104
Add ← Unbox#101, ToDouble#806 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
108
Call ← Constant#8, Constant#2, Add#104
Value
113
Unbox Phi#86 to Int32 (fallible)
Int32
116
Add ← Unbox#113, Phi#90 [int32]
I[-2147483648, ?] (< pow(2, 32+1)): Int32
120
Goto → block 3
Block 3
123
Lsh ← Add#116, Constant#37
I[-2147483648, 2147483647]: Int32
125
Rsh ← Add#116, Constant#37
I[-1073741824, 1073741823]: Int32
126
Constant 0xff
I[255, 255]: Int32
127
BitAnd ← Add#116, Constant#126
I[0, 255]: Int32
129
Ursh ← Add#116, Constant#42
I[0, 1073741823]: Int32
130
Add ← BitAnd#127, Ursh#129 [int32]
I[0, 1073742078]: Int32
131
BitNot ← Add#116
I[-2147483648, 2147483647]: Int32
132
Sub ← Add#130, BitNot#131 [int32]
I[-2147483648, 2147483647]: Int32 (t)
133
BitXor ← Rsh#125, Sub#132
I[-2147483648, 2147483647]: Int32
134
BitOr ← Lsh#123, BitXor#133
I[-2147483648, 2147483647]: Int32
135
Goto → block 4
Block 4
143
Call ← Constant#24, Constant#2, Phi#87, Call#108
Value
149
NewArrayObject ← Constant#30
Object
151
Elements ← NewArrayObject#149
Elements
152
PostWriteBarrier ← NewArrayObject#149, Call#108
153
StoreElement ← Elements#151, Constant#32, Call#108
154
SetInitializedLength ← Elements#151, Constant#32
156
Elements ← NewArrayObject#149
Elements
157
PostWriteBarrier ← NewArrayObject#149, BitOr#134
158
StoreElement ← Elements#156, Constant#37, BitOr#134
159
SetInitializedLength ← Elements#156, Constant#37
161
Elements ← NewArrayObject#149
Elements
162
PostWriteBarrier ← NewArrayObject#149, Call#143
163
StoreElement ← Elements#161, Constant#42, Call#143
164
SetInitializedLength ← Elements#161, Constant#42
166
Elements ← NewArrayObject#149
Elements
167
PostWriteBarrier ← NewArrayObject#149, Phi#90
168
StoreElement ← Elements#166, Constant#47, Phi#90
169
SetInitializedLength ← Elements#166, Constant#47
173
Goto → block 5
Block 5
176
GuardShape ← NewArrayObject#149
Object
178
Constant function map (self-hosted:163) at 104289c47920
Object
179
Constant function complex4/< (-e:18) at 104289c63d28
Object
180
Lambda ← FunctionEnvironment#175, Constant#179
Object
184
Goto → block 6
Block 6
186
Constant function ToObject at 104289c6c740
Object
187
Box ← Constant#186
Value
188
DebugCheckSelfHosted ← Box#187
Value
191
Constant function ToLength at 104289c6c778
Object
192
Box ← Constant#191
Value
193
DebugCheckSelfHosted ← Box#192
Value
195
GuardShape ← NewArrayObject#149
Object
196
Elements ← GuardShape#195
Elements
197
ArrayLength ← Elements#196
I[0, 2147483647]: Int32
808
Goto → block 7
Block 7
213
Constant function IsCallable at 104289c6c7b0
Object
214
Box ← Constant#213
Value
215
DebugCheckSelfHosted ← Box#214
Value
809
AssertClass ← Lambda#180
811
Goto → block 8
Block 8
813
Goto → block 9
Block 9
238
Box ← Constant#2
Value
239
Goto → block 10
Block 10
241
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
242
Box ← Constant#241
Value
243
DebugCheckSelfHosted ← Box#242
Value
246
HasShape ← NewArrayObject#149
Bool
247
Test ← HasShape#246 → block 11, block 12
1
0
Block 11
248
Constant function std_Array at 104289c6c820
Object
249
Box ← Constant#248
Value
250
DebugCheckSelfHosted ← Box#249
Value
253
Unbox DebugCheckSelfHosted#250 to Object (fallible)
Object
255
GuardSpecificFunction ← Unbox#253, Constant#248
Object
256
NewArrayDynamicLength ← ArrayLength#197
Object
257
Goto → block 13
Block 12
258
CallGetIntrinsicValue
Value
259
DebugCheckSelfHosted ← CallGetIntrinsicValue#258
Value
261
Bail
262
Unreachable
Block 13
279
GuardShape ← NewArrayObject#149
Object
816
Constant 2
I[2, 2]: Double
318
GuardShape ← NewArrayDynamicLength#256
Object
264
Goto → block 14
Block 14 (loop header)
265
Phi ← Constant#32, Add#326
I[0 {}, 2147483647 {[loop] #197-1}]: Int32
267
InterruptCheck
272
Compare ← Phi#265, ArrayLength#197 Lt
Bool
273
Test ← Compare#272 → block 15, block 20
1
0
Block 15
280
Elements ← GuardShape#279
Elements
281
InitializedLength ← Elements#280
I[0, 268435453]: Int32
282
BoundsCheck ← Phi#265, InitializedLength#281
I[0, 2147483646]: Int32
283
SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281
I[0, 2147483646]: Int32
284
GuardElementNotHole ← Elements#280, SpectreMaskIndex#283
814
Goto → block 16
Block 16
299
GuardElementsArePacked ← Elements#280
300
LoadElement ← Elements#280, SpectreMaskIndex#283
Value
815
AssertClass ← Lambda#180
306
Goto → block 17
Block 17
309
Unbox LoadElement#300 to Double (fallible)
Double
311
Mul ← Unbox#309, Constant#816 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
312
Goto → block 18
Block 18
319
Elements ← GuardShape#318
Elements
320
StoreElementHole ← GuardShape#318, Elements#319, Phi#265, Mul#311
321
Goto → block 19
Block 19 (backedge)
326
Add ← Phi#265, Constant#37 [int32]
I[1, 2147483647]: Int32
327
Goto → block 14
Block 20
330
GuardShape ← NewArrayDynamicLength#256
Object
332
Constant function filter (self-hosted:183) at 104289c47970
Object
333
Constant function complex4/< (-e:18) at 104289c63d60
Object
334
Lambda ← FunctionEnvironment#175, Constant#333
Object
338
Goto → block 21
Block 21
342
DebugCheckSelfHosted ← Box#187
Value
349
DebugCheckSelfHosted ← Box#192
Value
351
GuardShape ← NewArrayDynamicLength#256
Object
352
Elements ← GuardShape#351
Elements
353
ArrayLength ← Elements#352
I[0, 2147483647]: Int32
818
Goto → block 22
Block 22
371
DebugCheckSelfHosted ← Box#214
Value
819
AssertClass ← Lambda#334
821
Goto → block 23
Block 23
823
Goto → block 24
Block 24
395
Goto → block 25
Block 25
399
DebugCheckSelfHosted ← Box#242
Value
402
HasShape ← NewArrayDynamicLength#256
Bool
403
Test ← HasShape#402 → block 26, block 27
1
0
Block 26
405
NewArrayObject ← Constant#30
Object
406
Goto → block 28
Block 27
407
CallGetIntrinsicValue
Value
408
DebugCheckSelfHosted ← CallGetIntrinsicValue#407
Value
411
Bail
412
Unreachable
Block 28
431
GuardShape ← NewArrayDynamicLength#256
Object
826
Constant 50
I[50, 50]: Double
473
GuardShape ← NewArrayObject#405
Object
415
Goto → block 29
Block 29 (loop header)
416
Phi ← Constant#32, Add#482
I[0 {}, 2147483647 {[loop] #353-1}]: Int32
417
Phi ← Constant#32, Phi#477
Int32
419
InterruptCheck
424
Compare ← Phi#416, ArrayLength#353 Lt
Bool
425
Test ← Compare#424 → block 30, block 37
1
0
Block 30
432
Elements ← GuardShape#431
Elements
433
InitializedLength ← Elements#432
I[0, 268435453]: Int32
434
BoundsCheck ← Phi#416, InitializedLength#433
I[0, 2147483646]: Int32
435
SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433
I[0, 2147483646]: Int32
436
GuardElementNotHole ← Elements#432, SpectreMaskIndex#435
824
Goto → block 31
Block 31
451
GuardElementsArePacked ← Elements#432
452
LoadElement ← Elements#432, SpectreMaskIndex#435
Value
825
AssertClass ← Lambda#334
458
Goto → block 32
Block 32
461
Unbox LoadElement#452 to Double (fallible)
Double
463
Compare ← Unbox#461, Constant#826 Gt
Bool
464
Goto → block 33
Block 33
465
Test ← Compare#463 → block 35, block 34
1
0
Block 34 (split edge)
466
Goto → block 36
Block 35
470
Add ← Phi#417, Constant#37 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
474
Elements ← GuardShape#473
Elements
475
StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452
476
Goto → block 36
Block 36 (backedge)
477
Phi ← Add#470, Phi#417
Int32
482
Add ← Phi#416, Constant#37 [int32]
I[1, 2147483647]: Int32
483
Goto → block 29
Block 37
486
GuardShape ← NewArrayObject#405
Object
488
Constant function reduce (self-hosted:205) at 104289c479c0
Object
489
Constant function complex4/< (-e:18) at 104289c63d98
Object
490
Lambda ← FunctionEnvironment#175, Constant#489
Object
495
Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32
Value
496
Goto → block 38
Block 38
501
Constant shape at 104289c64fc0
Shape
502
NewPlainObject ← Constant#501
Object
503
GuardShape ← NewPlainObject#502
Object
504
PostWriteBarrier ← GuardShape#503, Call#108
505
StoreFixedSlot ← GuardShape#503, Call#108 (slot 0)
507
PostWriteBarrier ← GuardShape#503, BitOr#134
508
StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1)
510
PostWriteBarrier ← GuardShape#503, Call#143
511
StoreFixedSlot ← GuardShape#503, Call#143 (slot 2)
515
Goto → block 39
Block 39
518
Constant object 104289c3f078 (Call)
Object
519
NewCallObject ← Constant#518
Object
520
Box ← FunctionEnvironment#517
Value
521
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520
522
Box ← Constant#76
Value
523
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522
524
StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0)
525
StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1)
526
PostWriteBarrier ← NewCallObject#519, NewPlainObject#502
527
StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2)
828
AssertClass ← NewPlainObject#502
540
ObjectKeys ← NewPlainObject#502
Object
541
GuardShape ← ObjectKeys#540
Object
544
Constant function complex5/< (-e:22) at 104289c63e08
Object
545
Lambda ← NewCallObject#519, Constant#544
Object
549
Goto → block 40
Block 40
553
DebugCheckSelfHosted ← Box#187
Value
558
DebugCheckSelfHosted ← Box#192
Value
560
GuardShape ← ObjectKeys#540
Object
561
Elements ← GuardShape#560
Elements
562
ArrayLength ← Elements#561
I[0, 2147483647]: Int32
830
Goto → block 41
Block 41
580
DebugCheckSelfHosted ← Box#214
Value
831
AssertClass ← Lambda#545
833
Goto → block 42
Block 42
835
Goto → block 43
Block 43
604
Goto → block 44
Block 44
608
DebugCheckSelfHosted ← Box#242
Value
611
HasShape ← ObjectKeys#540
Bool
612
Test ← HasShape#611 → block 45, block 46
1
0
Block 45
615
DebugCheckSelfHosted ← Box#249
Value
618
Unbox DebugCheckSelfHosted#615 to Object (fallible)
Object
620
GuardSpecificFunction ← Unbox#618, Constant#248
Object
621
NewArrayDynamicLength ← ArrayLength#562
Object
622
Goto → block 47
Block 46
623
CallGetIntrinsicValue
Value
624
DebugCheckSelfHosted ← CallGetIntrinsicValue#623
Value
626
Bail
627
Unreachable
Block 47
644
GuardShape ← ObjectKeys#540
Object
674
LoadFixedSlot ← NewCallObject#519 (slot 2)
Value
675
Unbox LoadFixedSlot#674 to Object (fallible)
Object
683
GuardShape ← NewArrayDynamicLength#621
Object
629
Goto → block 48
Block 48 (loop header)
630
Phi ← Constant#32, Add#691
I[0 {}, 2147483647 {[loop] #562-1}]: Int32
632
InterruptCheck
637
Compare ← Phi#630, ArrayLength#562 Lt
Bool
638
Test ← Compare#637 → block 49, block 54
1
0
Block 49
645
Elements ← GuardShape#644
Elements
646
InitializedLength ← Elements#645
I[0, 268435453]: Int32
647
BoundsCheck ← Phi#630, InitializedLength#646
I[0, 2147483646]: Int32
648
SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646
I[0, 2147483646]: Int32
649
GuardElementNotHole ← Elements#645, SpectreMaskIndex#648
836
Goto → block 50
Block 50
664
GuardElementsArePacked ← Elements#645
665
LoadElement ← Elements#645, SpectreMaskIndex#648
Value
837
AssertClass ← Lambda#545
671
Goto → block 51
Block 51
676
MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665
Value
677
Goto → block 52
Block 52
684
Elements ← GuardShape#683
Elements
685
StoreElementHole ← GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676
686
Goto → block 53
Block 53 (backedge)
691
Add ← Phi#630, Constant#37 [int32]
I[1, 2147483647]: Int32
692
Goto → block 48
Block 54
695
GuardShape ← NewArrayDynamicLength#621
Object
698
Constant function complex5/< (-e:22) at 104289c63e40
Object
699
Lambda ← NewCallObject#519, Constant#698
Object
704
Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32
Value
705
Goto → block 55
Block 55 (backedge)
709
Add ← Phi#90, Constant#37 [int32]
I[1, 10]: Int32
710
Box ← BitOr#134
Value
711
Goto → block 1
Block 56
712
Unbox Phi#85 to Double (fallible)
Double
713
Unbox Phi#86 to Double (fallible)
Double
714
Add ← Unbox#712, Unbox#713 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
715
Unbox Phi#87 to Double (fallible)
Double
716
Add ← Add#714, Unbox#715 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
717
Unbox Phi#88 to Double (fallible)
Double
718
Add ← Add#716, Unbox#717 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
719
Unbox Phi#89 to Double (fallible)
Double
720
Add ← Add#718, Unbox#719 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
721
Box ← Add#720
Value
722
Return ← Box#721
Block 0
805
Constant magic optimized-out
MagicOptimizedOut
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
13
Call ← Constant#8, Constant#2, Parameter#1
Value
16
Constant function complex2 (-e:7) at 104289c6c970
Object
21
Call ← Constant#16, Constant#2, Parameter#1
Value
24
Constant function complex3 (-e:11) at 104289c6c938
Object
29
Call ← Constant#24, Constant#2, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
I[0, 0]: Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
I[1, 1]: Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
I[2, 2]: Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
I[3, 3]: Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
54
Constant function complex4 (-e:17) at 104289c6c890
Object
59
Call ← Constant#54, Constant#2, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
66
PostWriteBarrier ← GuardShape#62, Call#21
67
StoreFixedSlot ← GuardShape#62, Call#21 (slot 1)
69
PostWriteBarrier ← GuardShape#62, Call#29
70
StoreFixedSlot ← GuardShape#62, Call#29 (slot 2)
72
PostWriteBarrier ← GuardShape#62, Call#59
73
StoreFixedSlot ← GuardShape#62, Call#59 (slot 3)
76
Constant function complex5 (-e:21) at 104289c6c900
Object
81
Call ← Constant#76, Constant#2, NewPlainObject#61
Value
175
FunctionEnvironment ← Constant#54
Object
517
FunctionEnvironment ← Constant#76
Object
84
Goto → block 1
Block 1 (loop header)
85
Phi ← Call#13, Call#108
Value
86
Phi ← Call#21, Box#710
Value
87
Phi ← Call#29, Call#143
Value
88
Phi ← Call#59, Call#495
Value
89
Phi ← Call#81, Call#704
Value
90
Phi ← Constant#32, Add#709
I[0 {}, 2147483647 {[loop] +9}]: Int32
91
InterruptCheck
92
Constant 0xa
I[10, 10]: Int32
95
Compare ← Phi#90, Constant#92 Lt
Bool
96
Test ← Compare#95 → block 2, block 56
1
0
Block 2
101
Unbox Phi#85 to Double (fallible)
Double
806
ToDouble ← Phi#90
I[0, 9]: Double
104
Add ← Unbox#101, ToDouble#806 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
108
Call ← Constant#8, Constant#2, Add#104
Value
113
Unbox Phi#86 to Int32 (fallible)
Int32
116
Add ← Unbox#113, Phi#90 [int32]
I[-2147483648, ?] (< pow(2, 32+1)): Int32
120
Goto → block 3
Block 3
123
Lsh ← Add#116, Constant#37
I[-2147483648, 2147483647]: Int32
125
Rsh ← Add#116, Constant#37
I[-1073741824, 1073741823]: Int32
126
Constant 0xff
I[255, 255]: Int32
127
BitAnd ← Add#116, Constant#126
I[0, 255]: Int32
129
Ursh ← Add#116, Constant#42
I[0, 1073741823]: Int32
130
Add ← BitAnd#127, Ursh#129 [int32]
I[0, 1073742078]: Int32
131
BitNot ← Add#116
I[-2147483648, 2147483647]: Int32
132
Sub ← Add#130, BitNot#131 [int32]
I[-2147483648, 2147483647]: Int32 (t)
133
BitXor ← Rsh#125, Sub#132
I[-2147483648, 2147483647]: Int32
134
BitOr ← Lsh#123, BitXor#133
I[-2147483648, 2147483647]: Int32
135
Goto → block 4
Block 4
143
Call ← Constant#24, Constant#2, Phi#87, Call#108
Value
149
NewArrayObject ← Constant#30
Object
151
Elements ← NewArrayObject#149
Elements
152
PostWriteBarrier ← NewArrayObject#149, Call#108
153
StoreElement ← Elements#151, Constant#32, Call#108
154
SetInitializedLength ← Elements#151, Constant#32
156
Elements ← NewArrayObject#149
Elements
157
PostWriteBarrier ← NewArrayObject#149, BitOr#134
158
StoreElement ← Elements#156, Constant#37, BitOr#134
159
SetInitializedLength ← Elements#156, Constant#37
161
Elements ← NewArrayObject#149
Elements
162
PostWriteBarrier ← NewArrayObject#149, Call#143
163
StoreElement ← Elements#161, Constant#42, Call#143
164
SetInitializedLength ← Elements#161, Constant#42
166
Elements ← NewArrayObject#149
Elements
167
PostWriteBarrier ← NewArrayObject#149, Phi#90
168
StoreElement ← Elements#166, Constant#47, Phi#90
169
SetInitializedLength ← Elements#166, Constant#47
173
Goto → block 5
Block 5
176
GuardShape ← NewArrayObject#149
Object
178
Constant function map (self-hosted:163) at 104289c47920
Object
179
Constant function complex4/< (-e:18) at 104289c63d28
Object
180
Lambda ← FunctionEnvironment#175, Constant#179
Object
184
Goto → block 6
Block 6
186
Constant function ToObject at 104289c6c740
Object
187
Box ← Constant#186
Value
188
DebugCheckSelfHosted ← Box#187
Value
191
Constant function ToLength at 104289c6c778
Object
192
Box ← Constant#191
Value
193
DebugCheckSelfHosted ← Box#192
Value
195
GuardShape ← NewArrayObject#149
Object
196
Elements ← GuardShape#195
Elements
197
ArrayLength ← Elements#196
I[0, 2147483647]: Int32
808
Goto → block 7
Block 7
213
Constant function IsCallable at 104289c6c7b0
Object
214
Box ← Constant#213
Value
215
DebugCheckSelfHosted ← Box#214
Value
809
AssertClass ← Lambda#180
811
Goto → block 8
Block 8
813
Goto → block 9
Block 9
238
Box ← Constant#2
Value
239
Goto → block 10
Block 10
241
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
242
Box ← Constant#241
Value
243
DebugCheckSelfHosted ← Box#242
Value
246
HasShape ← NewArrayObject#149
Bool
247
Test ← HasShape#246 → block 11, block 12
1
0
Block 11
248
Constant function std_Array at 104289c6c820
Object
249
Box ← Constant#248
Value
250
DebugCheckSelfHosted ← Box#249
Value
253
Unbox DebugCheckSelfHosted#250 to Object (fallible)
Object
255
GuardSpecificFunction ← Unbox#253, Constant#248
Object
256
NewArrayDynamicLength ← ArrayLength#197
Object
257
Goto → block 13
Block 12
258
CallGetIntrinsicValue
Value
259
DebugCheckSelfHosted ← CallGetIntrinsicValue#258
Value
261
Bail
262
Unreachable
Block 13
279
GuardShape ← NewArrayObject#149
Object
816
Constant 2
I[2, 2]: Double
318
GuardShape ← NewArrayDynamicLength#256
Object
264
Goto → block 14
Block 14 (loop header)
265
Phi ← Constant#32, Add#326
I[0 {}, 2147483647 {[loop] #197-1}]: Int32
267
InterruptCheck
272
Compare ← Phi#265, ArrayLength#197 Lt
Bool
273
Test ← Compare#272 → block 15, block 20
1
0
Block 15
280
Elements ← GuardShape#279
Elements
281
InitializedLength ← Elements#280
I[0, 268435453]: Int32
282
BoundsCheck ← Phi#265, InitializedLength#281
I[0, 2147483646]: Int32
283
SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281
I[0, 2147483646]: Int32
284
GuardElementNotHole ← Elements#280, SpectreMaskIndex#283
814
Goto → block 16
Block 16
299
GuardElementsArePacked ← Elements#280
300
LoadElement ← Elements#280, SpectreMaskIndex#283
Value
815
AssertClass ← Lambda#180
306
Goto → block 17
Block 17
309
Unbox LoadElement#300 to Double (fallible)
Double
311
Mul ← Unbox#309, Constant#816 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
312
Goto → block 18
Block 18
319
Elements ← GuardShape#318
Elements
320
StoreElementHole ← GuardShape#318, Elements#319, Phi#265, Mul#311
321
Goto → block 19
Block 19 (backedge)
326
Add ← Phi#265, Constant#37 [int32]
I[1, 2147483647]: Int32
327
Goto → block 14
Block 20
330
GuardShape ← NewArrayDynamicLength#256
Object
332
Constant function filter (self-hosted:183) at 104289c47970
Object
333
Constant function complex4/< (-e:18) at 104289c63d60
Object
334
Lambda ← FunctionEnvironment#175, Constant#333
Object
338
Goto → block 21
Block 21
342
DebugCheckSelfHosted ← Box#187
Value
349
DebugCheckSelfHosted ← Box#192
Value
351
GuardShape ← NewArrayDynamicLength#256
Object
352
Elements ← GuardShape#351
Elements
353
ArrayLength ← Elements#352
I[0, 2147483647]: Int32
818
Goto → block 22
Block 22
371
DebugCheckSelfHosted ← Box#214
Value
819
AssertClass ← Lambda#334
821
Goto → block 23
Block 23
823
Goto → block 24
Block 24
395
Goto → block 25
Block 25
399
DebugCheckSelfHosted ← Box#242
Value
402
HasShape ← NewArrayDynamicLength#256
Bool
403
Test ← HasShape#402 → block 26, block 27
1
0
Block 26
405
NewArrayObject ← Constant#30
Object
406
Goto → block 28
Block 27
407
CallGetIntrinsicValue
Value
408
DebugCheckSelfHosted ← CallGetIntrinsicValue#407
Value
411
Bail
412
Unreachable
Block 28
431
GuardShape ← NewArrayDynamicLength#256
Object
826
Constant 50
I[50, 50]: Double
473
GuardShape ← NewArrayObject#405
Object
415
Goto → block 29
Block 29 (loop header)
416
Phi ← Constant#32, Add#482
I[0 {}, 2147483647 {[loop] #353-1}]: Int32
417
Phi ← Constant#32, Phi#477
Int32
419
InterruptCheck
424
Compare ← Phi#416, ArrayLength#353 Lt
Bool
425
Test ← Compare#424 → block 30, block 37
1
0
Block 30
432
Elements ← GuardShape#431
Elements
433
InitializedLength ← Elements#432
I[0, 268435453]: Int32
434
BoundsCheck ← Phi#416, InitializedLength#433
I[0, 2147483646]: Int32
435
SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433
I[0, 2147483646]: Int32
436
GuardElementNotHole ← Elements#432, SpectreMaskIndex#435
824
Goto → block 31
Block 31
451
GuardElementsArePacked ← Elements#432
452
LoadElement ← Elements#432, SpectreMaskIndex#435
Value
825
AssertClass ← Lambda#334
458
Goto → block 32
Block 32
461
Unbox LoadElement#452 to Double (fallible)
Double
463
Compare ← Unbox#461, Constant#826 Gt
Bool
464
Goto → block 33
Block 33
465
Test ← Compare#463 → block 35, block 34
1
0
Block 34 (split edge)
466
Goto → block 36
Block 35
470
Add ← Phi#417, Constant#37 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
474
Elements ← GuardShape#473
Elements
475
StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452
476
Goto → block 36
Block 36 (backedge)
477
Phi ← Add#470, Phi#417
Int32
482
Add ← Phi#416, Constant#37 [int32]
I[1, 2147483647]: Int32
483
Goto → block 29
Block 37
486
GuardShape ← NewArrayObject#405
Object
488
Constant function reduce (self-hosted:205) at 104289c479c0
Object
489
Constant function complex4/< (-e:18) at 104289c63d98
Object
490
Lambda ← FunctionEnvironment#175, Constant#489
Object
495
Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32
Value
496
Goto → block 38
Block 38
501
Constant shape at 104289c64fc0
Shape
502
NewPlainObject ← Constant#501
Object
503
GuardShape ← NewPlainObject#502
Object
504
PostWriteBarrier ← GuardShape#503, Call#108
505
StoreFixedSlot ← GuardShape#503, Call#108 (slot 0)
507
PostWriteBarrier ← GuardShape#503, BitOr#134
508
StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1)
510
PostWriteBarrier ← GuardShape#503, Call#143
511
StoreFixedSlot ← GuardShape#503, Call#143 (slot 2)
515
Goto → block 39
Block 39
518
Constant object 104289c3f078 (Call)
Object
519
NewCallObject ← Constant#518
Object
520
Box ← FunctionEnvironment#517
Value
521
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520
522
Box ← Constant#76
Value
523
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522
524
StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0)
525
StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1)
526
PostWriteBarrier ← NewCallObject#519, NewPlainObject#502
527
StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2)
828
AssertClass ← NewPlainObject#502
540
ObjectKeys ← NewPlainObject#502
Object
541
GuardShape ← ObjectKeys#540
Object
544
Constant function complex5/< (-e:22) at 104289c63e08
Object
545
Lambda ← NewCallObject#519, Constant#544
Object
549
Goto → block 40
Block 40
553
DebugCheckSelfHosted ← Box#187
Value
558
DebugCheckSelfHosted ← Box#192
Value
560
GuardShape ← ObjectKeys#540
Object
561
Elements ← GuardShape#560
Elements
562
ArrayLength ← Elements#561
I[0, 2147483647]: Int32
830
Goto → block 41
Block 41
580
DebugCheckSelfHosted ← Box#214
Value
831
AssertClass ← Lambda#545
833
Goto → block 42
Block 42
835
Goto → block 43
Block 43
604
Goto → block 44
Block 44
608
DebugCheckSelfHosted ← Box#242
Value
611
HasShape ← ObjectKeys#540
Bool
612
Test ← HasShape#611 → block 45, block 46
1
0
Block 45
615
DebugCheckSelfHosted ← Box#249
Value
618
Unbox DebugCheckSelfHosted#615 to Object (fallible)
Object
620
GuardSpecificFunction ← Unbox#618, Constant#248
Object
621
NewArrayDynamicLength ← ArrayLength#562
Object
622
Goto → block 47
Block 46
623
CallGetIntrinsicValue
Value
624
DebugCheckSelfHosted ← CallGetIntrinsicValue#623
Value
626
Bail
627
Unreachable
Block 47
644
GuardShape ← ObjectKeys#540
Object
674
LoadFixedSlot ← NewCallObject#519 (slot 2)
Value
675
Unbox LoadFixedSlot#674 to Object (fallible)
Object
683
GuardShape ← NewArrayDynamicLength#621
Object
629
Goto → block 48
Block 48 (loop header)
630
Phi ← Constant#32, Add#691
I[0 {}, 2147483647 {[loop] #562-1}]: Int32
632
InterruptCheck
637
Compare ← Phi#630, ArrayLength#562 Lt
Bool
638
Test ← Compare#637 → block 49, block 54
1
0
Block 49
645
Elements ← GuardShape#644
Elements
646
InitializedLength ← Elements#645
I[0, 268435453]: Int32
647
BoundsCheck ← Phi#630, InitializedLength#646
I[0, 2147483646]: Int32
648
SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646
I[0, 2147483646]: Int32
649
GuardElementNotHole ← Elements#645, SpectreMaskIndex#648
836
Goto → block 50
Block 50
664
GuardElementsArePacked ← Elements#645
665
LoadElement ← Elements#645, SpectreMaskIndex#648
Value
837
AssertClass ← Lambda#545
671
Goto → block 51
Block 51
676
MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665
Value
677
Goto → block 52
Block 52
684
Elements ← GuardShape#683
Elements
685
StoreElementHole ← GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676
686
Goto → block 53
Block 53 (backedge)
691
Add ← Phi#630, Constant#37 [int32]
I[1, 2147483647]: Int32
692
Goto → block 48
Block 54
695
GuardShape ← NewArrayDynamicLength#621
Object
698
Constant function complex5/< (-e:22) at 104289c63e40
Object
699
Lambda ← NewCallObject#519, Constant#698
Object
704
Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32
Value
705
Goto → block 55
Block 55 (backedge)
709
Add ← Phi#90, Constant#37 [int32]
I[1, 10]: Int32
710
Box ← BitOr#134
Value
711
Goto → block 1
Block 56
712
Unbox Phi#85 to Double (fallible)
Double
713
Unbox Phi#86 to Double (fallible)
Double
714
Add ← Unbox#712, Unbox#713 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
715
Unbox Phi#87 to Double (fallible)
Double
716
Add ← Add#714, Unbox#715 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
717
Unbox Phi#88 to Double (fallible)
Double
718
Add ← Add#716, Unbox#717 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
719
Unbox Phi#89 to Double (fallible)
Double
720
Add ← Add#718, Unbox#719 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
721
Box ← Add#720
Value
722
Return ← Box#721
Block 0
805
Constant magic optimized-out
MagicOptimizedOut
0
Parameter THIS_SLOT
Value
1
Parameter 0
Value
2
Constant undefined
Undefined
3
Start
4
CheckOverRecursed
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
8
Constant function complex1 (-e:2) at 104289c6c8c8
Object
13
Call ← Constant#8, Constant#2, Parameter#1
Value
16
Constant function complex2 (-e:7) at 104289c6c970
Object
21
Call ← Constant#16, Constant#2, Parameter#1
Value
24
Constant function complex3 (-e:11) at 104289c6c938
Object
29
Call ← Constant#24, Constant#2, Parameter#1, Call#13
Value
30
Constant shape at 104289c64f00
Shape
31
NewArrayObject ← Constant#30
Object
32
Constant 0x0
I[0, 0]: Int32
33
Elements ← NewArrayObject#31
Elements
34
PostWriteBarrier ← NewArrayObject#31, Call#13
35
StoreElement ← Elements#33, Constant#32, Call#13
36
SetInitializedLength ← Elements#33, Constant#32
37
Constant 0x1
I[1, 1]: Int32
38
Elements ← NewArrayObject#31
Elements
39
PostWriteBarrier ← NewArrayObject#31, Call#21
40
StoreElement ← Elements#38, Constant#37, Call#21
41
SetInitializedLength ← Elements#38, Constant#37
42
Constant 0x2
I[2, 2]: Int32
43
Elements ← NewArrayObject#31
Elements
44
PostWriteBarrier ← NewArrayObject#31, Call#29
45
StoreElement ← Elements#43, Constant#42, Call#29
46
SetInitializedLength ← Elements#43, Constant#42
47
Constant 0x3
I[3, 3]: Int32
48
Elements ← NewArrayObject#31
Elements
49
PostWriteBarrier ← NewArrayObject#31, Parameter#1
50
StoreElement ← Elements#48, Constant#47, Parameter#1
51
SetInitializedLength ← Elements#48, Constant#47
54
Constant function complex4 (-e:17) at 104289c6c890
Object
59
Call ← Constant#54, Constant#2, NewArrayObject#31
Value
60
Constant shape at 104289c64fa0
Shape
61
NewPlainObject ← Constant#60
Object
62
GuardShape ← NewPlainObject#61
Object
63
PostWriteBarrier ← GuardShape#62, Call#13
64
StoreFixedSlot ← GuardShape#62, Call#13 (slot 0)
66
PostWriteBarrier ← GuardShape#62, Call#21
67
StoreFixedSlot ← GuardShape#62, Call#21 (slot 1)
69
PostWriteBarrier ← GuardShape#62, Call#29
70
StoreFixedSlot ← GuardShape#62, Call#29 (slot 2)
72
PostWriteBarrier ← GuardShape#62, Call#59
73
StoreFixedSlot ← GuardShape#62, Call#59 (slot 3)
76
Constant function complex5 (-e:21) at 104289c6c900
Object
81
Call ← Constant#76, Constant#2, NewPlainObject#61
Value
175
FunctionEnvironment ← Constant#54
Object
517
FunctionEnvironment ← Constant#76
Object
84
Goto → block 1
Block 1 (loop header)
85
Phi ← Call#13, Call#108
Value
86
Phi ← Call#21, Box#710
Value
87
Phi ← Call#29, Call#143
Value
88
Phi ← Call#59, Call#495
Value
89
Phi ← Call#81, Call#704
Value
90
Phi ← Constant#32, Add#709
I[0 {}, 2147483647 {[loop] +9}]: Int32
91
InterruptCheck
92
Constant 0xa
I[10, 10]: Int32
95
Compare ← Phi#90, Constant#92 Lt
Bool
96
Test ← Compare#95 → block 2, block 56
1
0
Block 2
101
Unbox Phi#85 to Double (fallible)
Double
806
ToDouble ← Phi#90
I[0, 9]: Double
104
Add ← Unbox#101, ToDouble#806 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
108
Call ← Constant#8, Constant#2, Add#104
Value
113
Unbox Phi#86 to Int32 (fallible)
Int32
116
Add ← Unbox#113, Phi#90 [int32]
I[-2147483648, ?] (< pow(2, 32+1)): Int32
120
Goto → block 3
Block 3
123
Lsh ← Add#116, Constant#37
I[-2147483648, 2147483647]: Int32
125
Rsh ← Add#116, Constant#37
I[-1073741824, 1073741823]: Int32
126
Constant 0xff
I[255, 255]: Int32
127
BitAnd ← Add#116, Constant#126
I[0, 255]: Int32
129
Ursh ← Add#116, Constant#42
I[0, 1073741823]: Int32
130
Add ← BitAnd#127, Ursh#129 [int32]
I[0, 1073742078]: Int32
131
BitNot ← Add#116
I[-2147483648, 2147483647]: Int32
132
Sub ← Add#130, BitNot#131 [int32]
I[-2147483648, 2147483647]: Int32 (t)
133
BitXor ← Rsh#125, Sub#132
I[-2147483648, 2147483647]: Int32
134
BitOr ← Lsh#123, BitXor#133
I[-2147483648, 2147483647]: Int32
135
Goto → block 4
Block 4
143
Call ← Constant#24, Constant#2, Phi#87, Call#108
Value
149
NewArrayObject ← Constant#30
Object
151
Elements ← NewArrayObject#149
Elements
152
PostWriteBarrier ← NewArrayObject#149, Call#108
153
StoreElement ← Elements#151, Constant#32, Call#108
154
SetInitializedLength ← Elements#151, Constant#32
156
Elements ← NewArrayObject#149
Elements
157
PostWriteBarrier ← NewArrayObject#149, BitOr#134
158
StoreElement ← Elements#156, Constant#37, BitOr#134
159
SetInitializedLength ← Elements#156, Constant#37
161
Elements ← NewArrayObject#149
Elements
162
PostWriteBarrier ← NewArrayObject#149, Call#143
163
StoreElement ← Elements#161, Constant#42, Call#143
164
SetInitializedLength ← Elements#161, Constant#42
166
Elements ← NewArrayObject#149
Elements
167
PostWriteBarrier ← NewArrayObject#149, Phi#90
168
StoreElement ← Elements#166, Constant#47, Phi#90
169
SetInitializedLength ← Elements#166, Constant#47
173
Goto → block 5
Block 5
176
GuardShape ← NewArrayObject#149
Object
178
Constant function map (self-hosted:163) at 104289c47920
Object
179
Constant function complex4/< (-e:18) at 104289c63d28
Object
180
Lambda ← FunctionEnvironment#175, Constant#179
Object
184
Goto → block 6
Block 6
186
Constant function ToObject at 104289c6c740
Object
187
Box ← Constant#186
Value
188
DebugCheckSelfHosted ← Box#187
Value
191
Constant function ToLength at 104289c6c778
Object
192
Box ← Constant#191
Value
193
DebugCheckSelfHosted ← Box#192
Value
195
GuardShape ← NewArrayObject#149
Object
196
Elements ← GuardShape#195
Elements
197
ArrayLength ← Elements#196
I[0, 2147483647]: Int32
808
Goto → block 7
Block 7
213
Constant function IsCallable at 104289c6c7b0
Object
214
Box ← Constant#213
Value
215
DebugCheckSelfHosted ← Box#214
Value
809
AssertClass ← Lambda#180
811
Goto → block 8
Block 8
813
Goto → block 9
Block 9
238
Box ← Constant#2
Value
239
Goto → block 10
Block 10
241
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
242
Box ← Constant#241
Value
243
DebugCheckSelfHosted ← Box#242
Value
246
HasShape ← NewArrayObject#149
Bool
247
Test ← HasShape#246 → block 11, block 12
1
0
Block 11
248
Constant function std_Array at 104289c6c820
Object
249
Box ← Constant#248
Value
250
DebugCheckSelfHosted ← Box#249
Value
253
Unbox DebugCheckSelfHosted#250 to Object (fallible)
Object
255
GuardSpecificFunction ← Unbox#253, Constant#248
Object
256
NewArrayDynamicLength ← ArrayLength#197
Object
257
Goto → block 13
Block 12
258
CallGetIntrinsicValue
Value
259
DebugCheckSelfHosted ← CallGetIntrinsicValue#258
Value
261
Bail
262
Unreachable
Block 13
279
GuardShape ← NewArrayObject#149
Object
816
Constant 2
I[2, 2]: Double
318
GuardShape ← NewArrayDynamicLength#256
Object
264
Goto → block 14
Block 14 (loop header)
265
Phi ← Constant#32, Add#326
I[0 {}, 2147483647 {[loop] #197-1}]: Int32
267
InterruptCheck
272
Compare ← Phi#265, ArrayLength#197 Lt
Bool
273
Test ← Compare#272 → block 15, block 20
1
0
Block 15
280
Elements ← GuardShape#279
Elements
281
InitializedLength ← Elements#280
I[0, 268435453]: Int32
282
BoundsCheck ← Phi#265, InitializedLength#281
I[0, 2147483646]: Int32
283
SpectreMaskIndex ← BoundsCheck#282, InitializedLength#281
I[0, 2147483646]: Int32
284
GuardElementNotHole ← Elements#280, SpectreMaskIndex#283
814
Goto → block 16
Block 16
299
GuardElementsArePacked ← Elements#280
300
LoadElement ← Elements#280, SpectreMaskIndex#283
Value
815
AssertClass ← Lambda#180
306
Goto → block 17
Block 17
309
Unbox LoadElement#300 to Double (fallible)
Double
311
Mul ← Unbox#309, Constant#816 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
312
Goto → block 18
Block 18
319
Elements ← GuardShape#318
Elements
320
StoreElementHole ← GuardShape#318, Elements#319, Phi#265, Mul#311
321
Goto → block 19
Block 19 (backedge)
326
Add ← Phi#265, Constant#37 [int32]
I[1, 2147483647]: Int32
327
Goto → block 14
Block 20
330
GuardShape ← NewArrayDynamicLength#256
Object
332
Constant function filter (self-hosted:183) at 104289c47970
Object
333
Constant function complex4/< (-e:18) at 104289c63d60
Object
334
Lambda ← FunctionEnvironment#175, Constant#333
Object
338
Goto → block 21
Block 21
342
DebugCheckSelfHosted ← Box#187
Value
349
DebugCheckSelfHosted ← Box#192
Value
351
GuardShape ← NewArrayDynamicLength#256
Object
352
Elements ← GuardShape#351
Elements
353
ArrayLength ← Elements#352
I[0, 2147483647]: Int32
818
Goto → block 22
Block 22
371
DebugCheckSelfHosted ← Box#214
Value
819
AssertClass ← Lambda#334
821
Goto → block 23
Block 23
823
Goto → block 24
Block 24
395
Goto → block 25
Block 25
399
DebugCheckSelfHosted ← Box#242
Value
402
HasShape ← NewArrayDynamicLength#256
Bool
403
Test ← HasShape#402 → block 26, block 27
1
0
Block 26
405
NewArrayObject ← Constant#30
Object
406
Goto → block 28
Block 27
407
CallGetIntrinsicValue
Value
408
DebugCheckSelfHosted ← CallGetIntrinsicValue#407
Value
411
Bail
412
Unreachable
Block 28
431
GuardShape ← NewArrayDynamicLength#256
Object
826
Constant 50
I[50, 50]: Double
473
GuardShape ← NewArrayObject#405
Object
415
Goto → block 29
Block 29 (loop header)
416
Phi ← Constant#32, Add#482
I[0 {}, 2147483647 {[loop] #353-1}]: Int32
417
Phi ← Constant#32, Phi#477
Int32
419
InterruptCheck
424
Compare ← Phi#416, ArrayLength#353 Lt
Bool
425
Test ← Compare#424 → block 30, block 37
1
0
Block 30
432
Elements ← GuardShape#431
Elements
433
InitializedLength ← Elements#432
I[0, 268435453]: Int32
434
BoundsCheck ← Phi#416, InitializedLength#433
I[0, 2147483646]: Int32
435
SpectreMaskIndex ← BoundsCheck#434, InitializedLength#433
I[0, 2147483646]: Int32
436
GuardElementNotHole ← Elements#432, SpectreMaskIndex#435
824
Goto → block 31
Block 31
451
GuardElementsArePacked ← Elements#432
452
LoadElement ← Elements#432, SpectreMaskIndex#435
Value
825
AssertClass ← Lambda#334
458
Goto → block 32
Block 32
461
Unbox LoadElement#452 to Double (fallible)
Double
463
Compare ← Unbox#461, Constant#826 Gt
Bool
464
Goto → block 33
Block 33
465
Test ← Compare#463 → block 35, block 34
1
0
Block 34 (split edge)
466
Goto → block 36
Block 35
470
Add ← Phi#417, Constant#37 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
474
Elements ← GuardShape#473
Elements
475
StoreElementHole ← GuardShape#473, Elements#474, Phi#417, LoadElement#452
476
Goto → block 36
Block 36 (backedge)
477
Phi ← Add#470, Phi#417
Int32
482
Add ← Phi#416, Constant#37 [int32]
I[1, 2147483647]: Int32
483
Goto → block 29
Block 37
486
GuardShape ← NewArrayObject#405
Object
488
Constant function reduce (self-hosted:205) at 104289c479c0
Object
489
Constant function complex4/< (-e:18) at 104289c63d98
Object
490
Lambda ← FunctionEnvironment#175, Constant#489
Object
495
Call ← Constant#488, NewArrayObject#405, Lambda#490, Constant#32
Value
496
Goto → block 38
Block 38
501
Constant shape at 104289c64fc0
Shape
502
NewPlainObject ← Constant#501
Object
503
GuardShape ← NewPlainObject#502
Object
504
PostWriteBarrier ← GuardShape#503, Call#108
505
StoreFixedSlot ← GuardShape#503, Call#108 (slot 0)
507
PostWriteBarrier ← GuardShape#503, BitOr#134
508
StoreFixedSlot ← GuardShape#503, BitOr#134 (slot 1)
510
PostWriteBarrier ← GuardShape#503, Call#143
511
StoreFixedSlot ← GuardShape#503, Call#143 (slot 2)
515
Goto → block 39
Block 39
518
Constant object 104289c3f078 (Call)
Object
519
NewCallObject ← Constant#518
Object
520
Box ← FunctionEnvironment#517
Value
521
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#520
522
Box ← Constant#76
Value
523
AssertCanElidePostWriteBarrier ← NewCallObject#519, Box#522
524
StoreFixedSlot ← NewCallObject#519, FunctionEnvironment#517 (slot 0)
525
StoreFixedSlot ← NewCallObject#519, Constant#76 (slot 1)
526
PostWriteBarrier ← NewCallObject#519, NewPlainObject#502
527
StoreFixedSlot ← NewCallObject#519, NewPlainObject#502 (slot 2)
828
AssertClass ← NewPlainObject#502
540
ObjectKeys ← NewPlainObject#502
Object
541
GuardShape ← ObjectKeys#540
Object
544
Constant function complex5/< (-e:22) at 104289c63e08
Object
545
Lambda ← NewCallObject#519, Constant#544
Object
549
Goto → block 40
Block 40
553
DebugCheckSelfHosted ← Box#187
Value
558
DebugCheckSelfHosted ← Box#192
Value
560
GuardShape ← ObjectKeys#540
Object
561
Elements ← GuardShape#560
Elements
562
ArrayLength ← Elements#561
I[0, 2147483647]: Int32
830
Goto → block 41
Block 41
580
DebugCheckSelfHosted ← Box#214
Value
831
AssertClass ← Lambda#545
833
Goto → block 42
Block 42
835
Goto → block 43
Block 43
604
Goto → block 44
Block 44
608
DebugCheckSelfHosted ← Box#242
Value
611
HasShape ← ObjectKeys#540
Bool
612
Test ← HasShape#611 → block 45, block 46
1
0
Block 45
615
DebugCheckSelfHosted ← Box#249
Value
618
Unbox DebugCheckSelfHosted#615 to Object (fallible)
Object
620
GuardSpecificFunction ← Unbox#618, Constant#248
Object
621
NewArrayDynamicLength ← ArrayLength#562
Object
622
Goto → block 47
Block 46
623
CallGetIntrinsicValue
Value
624
DebugCheckSelfHosted ← CallGetIntrinsicValue#623
Value
626
Bail
627
Unreachable
Block 47
644
GuardShape ← ObjectKeys#540
Object
674
LoadFixedSlot ← NewCallObject#519 (slot 2)
Value
675
Unbox LoadFixedSlot#674 to Object (fallible)
Object
683
GuardShape ← NewArrayDynamicLength#621
Object
629
Goto → block 48
Block 48 (loop header)
630
Phi ← Constant#32, Add#691
I[0 {}, 2147483647 {[loop] #562-1}]: Int32
632
InterruptCheck
637
Compare ← Phi#630, ArrayLength#562 Lt
Bool
638
Test ← Compare#637 → block 49, block 54
1
0
Block 49
645
Elements ← GuardShape#644
Elements
646
InitializedLength ← Elements#645
I[0, 268435453]: Int32
647
BoundsCheck ← Phi#630, InitializedLength#646
I[0, 2147483646]: Int32
648
SpectreMaskIndex ← BoundsCheck#647, InitializedLength#646
I[0, 2147483646]: Int32
649
GuardElementNotHole ← Elements#645, SpectreMaskIndex#648
836
Goto → block 50
Block 50
664
GuardElementsArePacked ← Elements#645
665
LoadElement ← Elements#645, SpectreMaskIndex#648
Value
837
AssertClass ← Lambda#545
671
Goto → block 51
Block 51
676
MegamorphicLoadSlotByValue ← Unbox#675, LoadElement#665
Value
677
Goto → block 52
Block 52
684
Elements ← GuardShape#683
Elements
685
StoreElementHole ← GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676
686
Goto → block 53
Block 53 (backedge)
691
Add ← Phi#630, Constant#37 [int32]
I[1, 2147483647]: Int32
692
Goto → block 48
Block 54
695
GuardShape ← NewArrayDynamicLength#621
Object
698
Constant function complex5/< (-e:22) at 104289c63e40
Object
699
Lambda ← NewCallObject#519, Constant#698
Object
704
Call ← Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32
Value
705
Goto → block 55
Block 55 (backedge)
709
Add ← Phi#90, Constant#37 [int32]
I[1, 10]: Int32
710
Box ← BitOr#134
Value
711
Goto → block 1
Block 56
712
Unbox Phi#85 to Double (fallible)
Double
713
Unbox Phi#86 to Double (fallible)
Double
714
Add ← Unbox#712, Unbox#713 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
715
Unbox Phi#87 to Double (fallible)
Double
716
Add ← Add#714, Unbox#715 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
717
Unbox Phi#88 to Double (fallible)
Double
718
Add ← Add#716, Unbox#717 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
719
Unbox Phi#89 to Double (fallible)
Double
720
Add ← Add#718, Unbox#719 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
721
Box ← Add#720
Value
722
Return ← Box#721
Block 0
0
Constant magic optimized-out
MagicOptimizedOut
1
Parameter THIS_SLOT
Value
2
Parameter 0
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Constant function complex1 (-e:2) at 104289c6c8c8
Object
8
Call ← Constant#7, Constant#3, Parameter#2
Value
9
Constant function complex2 (-e:7) at 104289c6c970
Object
10
Call ← Constant#9, Constant#3, Parameter#2
Value
11
Constant function complex3 (-e:11) at 104289c6c938
Object
12
Call ← Constant#11, Constant#3, Parameter#2, Call#8
Value
13
Constant shape at 104289c64f00
Shape
14
NewArrayObject ← Constant#13
Object
15
Constant 0x0
I[0, 0]: Int32
16
Elements ← NewArrayObject#14
Elements
17
PostWriteBarrier ← NewArrayObject#14, Call#8
18
StoreElement ← Elements#16, Constant#15, Call#8
19
SetInitializedLength ← Elements#16, Constant#15
20
Constant 0x1
I[1, 1]: Int32
21
Elements ← NewArrayObject#14
Elements
22
PostWriteBarrier ← NewArrayObject#14, Call#10
23
StoreElement ← Elements#21, Constant#20, Call#10
24
SetInitializedLength ← Elements#21, Constant#20
25
Constant 0x2
I[2, 2]: Int32
26
Elements ← NewArrayObject#14
Elements
27
PostWriteBarrier ← NewArrayObject#14, Call#12
28
StoreElement ← Elements#26, Constant#25, Call#12
29
SetInitializedLength ← Elements#26, Constant#25
30
Constant 0x3
I[3, 3]: Int32
31
Elements ← NewArrayObject#14
Elements
32
PostWriteBarrier ← NewArrayObject#14, Parameter#2
33
StoreElement ← Elements#31, Constant#30, Parameter#2
34
SetInitializedLength ← Elements#31, Constant#30
35
Constant function complex4 (-e:17) at 104289c6c890
Object
36
Call ← Constant#35, Constant#3, NewArrayObject#14
Value
37
Constant shape at 104289c64fa0
Shape
38
NewPlainObject ← Constant#37
Object
39
GuardShape ← NewPlainObject#38
Object
40
PostWriteBarrier ← GuardShape#39, Call#8
41
StoreFixedSlot ← GuardShape#39, Call#8 (slot 0)
42
PostWriteBarrier ← GuardShape#39, Call#10
43
StoreFixedSlot ← GuardShape#39, Call#10 (slot 1)
44
PostWriteBarrier ← GuardShape#39, Call#12
45
StoreFixedSlot ← GuardShape#39, Call#12 (slot 2)
46
PostWriteBarrier ← GuardShape#39, Call#36
47
StoreFixedSlot ← GuardShape#39, Call#36 (slot 3)
48
Constant function complex5 (-e:21) at 104289c6c900
Object
49
Call ← Constant#48, Constant#3, NewPlainObject#38
Value
50
FunctionEnvironment ← Constant#35
Object
51
FunctionEnvironment ← Constant#48
Object
52
Goto → block 1
Block 1 (loop header)
53
Phi ← Call#8, Call#66
Value
54
Phi ← Call#10, Box#308
Value
55
Phi ← Call#12, Call#81
Value
56
Phi ← Call#36, Call#225
Value
57
Phi ← Call#49, Call#305
Value
58
Phi ← Constant#15, Add#307
I[0 {}, 2147483647 {[loop] +9}]: Int32
59
InterruptCheck
60
Constant 0xa
I[10, 10]: Int32
61
Compare ← Phi#58, Constant#60 Lt
Bool
62
Test ← Compare#61 → block 2, block 56
1
0
Block 2
63
Unbox Phi#53 to Double (fallible)
Double
64
ToDouble ← Phi#58
I[0, 9]: Double
65
Add ← Unbox#63, ToDouble#64 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
66
Call ← Constant#7, Constant#3, Add#65
Value
67
Unbox Phi#54 to Int32 (fallible)
Int32
68
Add ← Unbox#67, Phi#58 [int32]
I[-2147483648, ?] (< pow(2, 32+1)): Int32
69
Goto → block 3
Block 3
70
Constant 0xff
I[255, 255]: Int32
71
Lsh ← Add#68, Constant#20
I[-2147483648, 2147483647]: Int32
72
Rsh ← Add#68, Constant#20
I[-1073741824, 1073741823]: Int32
73
BitAnd ← Add#68, Constant#70
I[0, 255]: Int32
74
Ursh ← Add#68, Constant#25
I[0, 1073741823]: Int32
75
Add ← BitAnd#73, Ursh#74 [int32]
I[0, 1073742078]: Int32
76
BitNot ← Add#68
I[-2147483648, 2147483647]: Int32
77
Sub ← Add#75, BitNot#76 [int32]
I[-2147483648, 2147483647]: Int32 (t)
78
BitXor ← Rsh#72, Sub#77
I[-2147483648, 2147483647]: Int32
79
BitOr ← Lsh#71, BitXor#78
I[-2147483648, 2147483647]: Int32
80
Goto → block 4
Block 4
81
Call ← Constant#11, Constant#3, Phi#55, Call#66
Value
82
NewArrayObject ← Constant#13
Object
83
Elements ← NewArrayObject#82
Elements
84
PostWriteBarrier ← NewArrayObject#82, Call#66
85
StoreElement ← Elements#83, Constant#15, Call#66
86
SetInitializedLength ← Elements#83, Constant#15
87
Elements ← NewArrayObject#82
Elements
88
PostWriteBarrier ← NewArrayObject#82, BitOr#79
89
StoreElement ← Elements#87, Constant#20, BitOr#79
90
SetInitializedLength ← Elements#87, Constant#20
91
Elements ← NewArrayObject#82
Elements
92
PostWriteBarrier ← NewArrayObject#82, Call#81
93
StoreElement ← Elements#91, Constant#25, Call#81
94
SetInitializedLength ← Elements#91, Constant#25
95
Elements ← NewArrayObject#82
Elements
96
PostWriteBarrier ← NewArrayObject#82, Phi#58
97
StoreElement ← Elements#95, Constant#30, Phi#58
98
SetInitializedLength ← Elements#95, Constant#30
99
Goto → block 5
Block 5
100
Constant function complex4/< (-e:18) at 104289c63d28
Object
101
GuardShape ← NewArrayObject#82
Object
102
Constant function map (self-hosted:163) at 104289c47920
Object
103
Lambda ← FunctionEnvironment#50, Constant#100
Object
104
Goto → block 6
Block 6
105
Constant function ToObject at 104289c6c740
Object
106
Constant function ToLength at 104289c6c778
Object
107
Box ← Constant#105
Value
108
DebugCheckSelfHosted ← Box#107
Value
109
Box ← Constant#106
Value
110
DebugCheckSelfHosted ← Box#109
Value
111
GuardShape ← NewArrayObject#82
Object
112
Elements ← GuardShape#111
Elements
113
ArrayLength ← Elements#112
I[0, 2147483647]: Int32
114
Goto → block 7
Block 7
115
Constant function IsCallable at 104289c6c7b0
Object
116
Box ← Constant#115
Value
117
DebugCheckSelfHosted ← Box#116
Value
118
AssertClass ← Lambda#103
119
Goto → block 8
Block 8
120
Goto → block 9
Block 9
121
Box ← Constant#3
Value
122
Goto → block 10
Block 10
123
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
124
Box ← Constant#123
Value
125
DebugCheckSelfHosted ← Box#124
Value
126
HasShape ← NewArrayObject#82
Bool
127
Test ← HasShape#126 → block 11, block 12
1
0
Block 11
128
Constant function std_Array at 104289c6c820
Object
129
Box ← Constant#128
Value
130
DebugCheckSelfHosted ← Box#129
Value
131
Unbox DebugCheckSelfHosted#130 to Object (fallible)
Object
132
GuardSpecificFunction ← Unbox#131, Constant#128
Object
133
NewArrayDynamicLength ← ArrayLength#113
Object
134
Goto → block 13
Block 12
135
CallGetIntrinsicValue
Value
136
DebugCheckSelfHosted ← CallGetIntrinsicValue#135
Value
137
Bail
138
Unreachable
Block 13
139
GuardShape ← NewArrayObject#82
Object
140
Constant 2
I[2, 2]: Double
141
GuardShape ← NewArrayDynamicLength#133
Object
142
Goto → block 14
Block 14 (loop header)
143
Phi ← Constant#15, Add#163
I[0 {}, 2147483647 {[loop] #113-1}]: Int32
144
InterruptCheck
145
Compare ← Phi#143, ArrayLength#113 Lt
Bool
146
Test ← Compare#145 → block 15, block 20
1
0
Block 15
147
Elements ← GuardShape#139
Elements
148
InitializedLength ← Elements#147
I[0, 268435453]: Int32
149
BoundsCheck ← Phi#143, InitializedLength#148
I[0, 2147483646]: Int32
150
SpectreMaskIndex ← BoundsCheck#149, InitializedLength#148
I[0, 2147483646]: Int32
151
GuardElementNotHole ← Elements#147, SpectreMaskIndex#150
152
Goto → block 16
Block 16
153
GuardElementsArePacked ← Elements#147
154
LoadElement ← Elements#147, SpectreMaskIndex#150
Value
155
AssertClass ← Lambda#103
156
Goto → block 17
Block 17
157
Unbox LoadElement#154 to Double (fallible)
Double
158
Mul ← Unbox#157, Constant#140 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
159
Goto → block 18
Block 18
160
Elements ← GuardShape#141
Elements
161
StoreElementHole ← GuardShape#141, Elements#160, Phi#143, Mul#158
162
Goto → block 19
Block 19 (backedge)
163
Add ← Phi#143, Constant#20 [int32]
I[1, 2147483647]: Int32
164
Goto → block 14
Block 20
165
Constant function complex4/< (-e:18) at 104289c63d60
Object
166
GuardShape ← NewArrayDynamicLength#133
Object
167
Constant function filter (self-hosted:183) at 104289c47970
Object
168
Lambda ← FunctionEnvironment#50, Constant#165
Object
169
Goto → block 21
Block 21
170
DebugCheckSelfHosted ← Box#107
Value
171
DebugCheckSelfHosted ← Box#109
Value
172
GuardShape ← NewArrayDynamicLength#133
Object
173
Elements ← GuardShape#172
Elements
174
ArrayLength ← Elements#173
I[0, 2147483647]: Int32
175
Goto → block 22
Block 22
176
DebugCheckSelfHosted ← Box#116
Value
177
AssertClass ← Lambda#168
178
Goto → block 23
Block 23
179
Goto → block 24
Block 24
180
Goto → block 25
Block 25
181
DebugCheckSelfHosted ← Box#124
Value
182
HasShape ← NewArrayDynamicLength#133
Bool
183
Test ← HasShape#182 → block 26, block 27
1
0
Block 26
184
NewArrayObject ← Constant#13
Object
185
Goto → block 28
Block 27
186
CallGetIntrinsicValue
Value
187
DebugCheckSelfHosted ← CallGetIntrinsicValue#186
Value
188
Bail
189
Unreachable
Block 28
190
GuardShape ← NewArrayDynamicLength#133
Object
191
Constant 50
I[50, 50]: Double
192
GuardShape ← NewArrayObject#184
Object
193
Goto → block 29
Block 29 (loop header)
194
Phi ← Constant#15, Add#219
I[0 {}, 2147483647 {[loop] #174-1}]: Int32
195
Phi ← Constant#15, Phi#218
Int32
196
InterruptCheck
197
Compare ← Phi#194, ArrayLength#174 Lt
Bool
198
Test ← Compare#197 → block 30, block 37
1
0
Block 30
199
Elements ← GuardShape#190
Elements
200
InitializedLength ← Elements#199
I[0, 268435453]: Int32
201
BoundsCheck ← Phi#194, InitializedLength#200
I[0, 2147483646]: Int32
202
SpectreMaskIndex ← BoundsCheck#201, InitializedLength#200
I[0, 2147483646]: Int32
203
GuardElementNotHole ← Elements#199, SpectreMaskIndex#202
204
Goto → block 31
Block 31
205
GuardElementsArePacked ← Elements#199
206
LoadElement ← Elements#199, SpectreMaskIndex#202
Value
207
AssertClass ← Lambda#168
208
Goto → block 32
Block 32
209
Unbox LoadElement#206 to Double (fallible)
Double
210
Compare ← Unbox#209, Constant#191 Gt
Bool
211
Goto → block 33
Block 33
212
Test ← Compare#210 → block 35, block 34
1
0
Block 34 (split edge)
213
Goto → block 36
Block 35
214
Add ← Phi#195, Constant#20 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
215
Elements ← GuardShape#192
Elements
216
StoreElementHole ← GuardShape#192, Elements#215, Phi#195, LoadElement#206
217
Goto → block 36
Block 36 (backedge)
218
Phi ← Add#214, Phi#195
Int32
219
Add ← Phi#194, Constant#20 [int32]
I[1, 2147483647]: Int32
220
Goto → block 29
Block 37
221
Constant function complex4/< (-e:18) at 104289c63d98
Object
222
GuardShape ← NewArrayObject#184
Object
223
Constant function reduce (self-hosted:205) at 104289c479c0
Object
224
Lambda ← FunctionEnvironment#50, Constant#221
Object
225
Call ← Constant#223, NewArrayObject#184, Lambda#224, Constant#15
Value
226
Goto → block 38
Block 38
227
Constant shape at 104289c64fc0
Shape
228
NewPlainObject ← Constant#227
Object
229
GuardShape ← NewPlainObject#228
Object
230
PostWriteBarrier ← GuardShape#229, Call#66
231
StoreFixedSlot ← GuardShape#229, Call#66 (slot 0)
232
PostWriteBarrier ← GuardShape#229, BitOr#79
233
StoreFixedSlot ← GuardShape#229, BitOr#79 (slot 1)
234
PostWriteBarrier ← GuardShape#229, Call#81
235
StoreFixedSlot ← GuardShape#229, Call#81 (slot 2)
236
Goto → block 39
Block 39
237
Constant object 104289c3f078 (Call)
Object
238
Constant function complex5/< (-e:22) at 104289c63e08
Object
239
NewCallObject ← Constant#237
Object
240
Box ← FunctionEnvironment#51
Value
241
AssertCanElidePostWriteBarrier ← NewCallObject#239, Box#240
242
Box ← Constant#48
Value
243
AssertCanElidePostWriteBarrier ← NewCallObject#239, Box#242
244
StoreFixedSlot ← NewCallObject#239, FunctionEnvironment#51 (slot 0)
245
StoreFixedSlot ← NewCallObject#239, Constant#48 (slot 1)
246
PostWriteBarrier ← NewCallObject#239, NewPlainObject#228
247
StoreFixedSlot ← NewCallObject#239, NewPlainObject#228 (slot 2)
248
AssertClass ← NewPlainObject#228
249
ObjectKeys ← NewPlainObject#228
Object
250
GuardShape ← ObjectKeys#249
Object
251
Lambda ← NewCallObject#239, Constant#238
Object
252
Goto → block 40
Block 40
253
DebugCheckSelfHosted ← Box#107
Value
254
DebugCheckSelfHosted ← Box#109
Value
255
GuardShape ← ObjectKeys#249
Object
256
Elements ← GuardShape#255
Elements
257
ArrayLength ← Elements#256
I[0, 2147483647]: Int32
258
Goto → block 41
Block 41
259
DebugCheckSelfHosted ← Box#116
Value
260
AssertClass ← Lambda#251
261
Goto → block 42
Block 42
262
Goto → block 43
Block 43
263
Goto → block 44
Block 44
264
DebugCheckSelfHosted ← Box#124
Value
265
HasShape ← ObjectKeys#249
Bool
266
Test ← HasShape#265 → block 45, block 46
1
0
Block 45
267
DebugCheckSelfHosted ← Box#129
Value
268
Unbox DebugCheckSelfHosted#267 to Object (fallible)
Object
269
GuardSpecificFunction ← Unbox#268, Constant#128
Object
270
NewArrayDynamicLength ← ArrayLength#257
Object
271
Goto → block 47
Block 46
272
CallGetIntrinsicValue
Value
273
DebugCheckSelfHosted ← CallGetIntrinsicValue#272
Value
274
Bail
275
Unreachable
Block 47
276
GuardShape ← ObjectKeys#249
Object
277
LoadFixedSlot ← NewCallObject#239 (slot 2)
Value
278
Unbox LoadFixedSlot#277 to Object (fallible)
Object
279
GuardShape ← NewArrayDynamicLength#270
Object
280
Goto → block 48
Block 48 (loop header)
281
Phi ← Constant#15, Add#300
I[0 {}, 2147483647 {[loop] #257-1}]: Int32
282
InterruptCheck
283
Compare ← Phi#281, ArrayLength#257 Lt
Bool
284
Test ← Compare#283 → block 49, block 54
1
0
Block 49
285
Elements ← GuardShape#276
Elements
286
InitializedLength ← Elements#285
I[0, 268435453]: Int32
287
BoundsCheck ← Phi#281, InitializedLength#286
I[0, 2147483646]: Int32
288
SpectreMaskIndex ← BoundsCheck#287, InitializedLength#286
I[0, 2147483646]: Int32
289
GuardElementNotHole ← Elements#285, SpectreMaskIndex#288
290
Goto → block 50
Block 50
291
GuardElementsArePacked ← Elements#285
292
LoadElement ← Elements#285, SpectreMaskIndex#288
Value
293
AssertClass ← Lambda#251
294
Goto → block 51
Block 51
295
MegamorphicLoadSlotByValue ← Unbox#278, LoadElement#292
Value
296
Goto → block 52
Block 52
297
Elements ← GuardShape#279
Elements
298
StoreElementHole ← GuardShape#279, Elements#297, Phi#281, MegamorphicLoadSlotByValue#295
299
Goto → block 53
Block 53 (backedge)
300
Add ← Phi#281, Constant#20 [int32]
I[1, 2147483647]: Int32
301
Goto → block 48
Block 54
302
Constant function complex5/< (-e:22) at 104289c63e40
Object
303
GuardShape ← NewArrayDynamicLength#270
Object
304
Lambda ← NewCallObject#239, Constant#302
Object
305
Call ← Constant#223, NewArrayDynamicLength#270, Lambda#304, Constant#15
Value
306
Goto → block 55
Block 55 (backedge)
307
Add ← Phi#58, Constant#20 [int32]
I[1, 10]: Int32
308
Box ← BitOr#79
Value
309
Goto → block 1
Block 56
310
Unbox Phi#53 to Double (fallible)
Double
311
Unbox Phi#54 to Double (fallible)
Double
312
Add ← Unbox#310, Unbox#311 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
313
Unbox Phi#55 to Double (fallible)
Double
314
Add ← Add#312, Unbox#313 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
315
Unbox Phi#56 to Double (fallible)
Double
316
Add ← Add#314, Unbox#315 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
317
Unbox Phi#57 to Double (fallible)
Double
318
Add ← Add#316, Unbox#317 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
319
Box ← Add#318
Value
320
Return ← Box#319
Block 0
0
Constant magic optimized-out
MagicOptimizedOut
1
Parameter THIS_SLOT
Value
2
Parameter 0
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Constant function complex1 (-e:2) at 104289c6c8c8
Object
8
Call ← Constant#7, Constant#3, Parameter#2
Value
9
Constant function complex2 (-e:7) at 104289c6c970
Object
10
Call ← Constant#9, Constant#3, Parameter#2
Value
11
Constant function complex3 (-e:11) at 104289c6c938
Object
12
Call ← Constant#11, Constant#3, Parameter#2, Call#8
Value
13
Constant shape at 104289c64f00
Shape
14
NewArrayObject ← Constant#13
Object
15
Constant 0x0
I[0, 0]: Int32
16
Elements ← NewArrayObject#14
Elements
17
PostWriteBarrier ← NewArrayObject#14, Call#8
18
StoreElement ← Elements#16, Constant#15, Call#8
19
SetInitializedLength ← Elements#16, Constant#15
20
Constant 0x1
I[1, 1]: Int32
21
Elements ← NewArrayObject#14
Elements
22
PostWriteBarrier ← NewArrayObject#14, Call#10
23
StoreElement ← Elements#21, Constant#20, Call#10
24
SetInitializedLength ← Elements#21, Constant#20
25
Constant 0x2
I[2, 2]: Int32
26
Elements ← NewArrayObject#14
Elements
27
PostWriteBarrier ← NewArrayObject#14, Call#12
28
StoreElement ← Elements#26, Constant#25, Call#12
29
SetInitializedLength ← Elements#26, Constant#25
30
Constant 0x3
I[3, 3]: Int32
31
Elements ← NewArrayObject#14
Elements
32
PostWriteBarrier ← NewArrayObject#14, Parameter#2
33
StoreElement ← Elements#31, Constant#30, Parameter#2
34
SetInitializedLength ← Elements#31, Constant#30
35
Constant function complex4 (-e:17) at 104289c6c890
Object
36
Call ← Constant#35, Constant#3, NewArrayObject#14
Value
37
Constant shape at 104289c64fa0
Shape
38
NewPlainObject ← Constant#37
Object
39
GuardShape ← NewPlainObject#38
Object
40
PostWriteBarrier ← GuardShape#39, Call#8
41
StoreFixedSlot ← GuardShape#39, Call#8 (slot 0)
42
PostWriteBarrier ← GuardShape#39, Call#10
43
StoreFixedSlot ← GuardShape#39, Call#10 (slot 1)
44
PostWriteBarrier ← GuardShape#39, Call#12
45
StoreFixedSlot ← GuardShape#39, Call#12 (slot 2)
46
PostWriteBarrier ← GuardShape#39, Call#36
47
StoreFixedSlot ← GuardShape#39, Call#36 (slot 3)
48
Constant function complex5 (-e:21) at 104289c6c900
Object
49
Call ← Constant#48, Constant#3, NewPlainObject#38
Value
50
FunctionEnvironment ← Constant#35
Object
51
FunctionEnvironment ← Constant#48
Object
52
Goto → block 1
Block 1 (loop header)
53
Phi ← Call#8, Call#66
Value
54
Phi ← Call#10, Box#308
Value
55
Phi ← Call#12, Call#81
Value
56
Phi ← Call#36, Call#225
Value
57
Phi ← Call#49, Call#305
Value
58
Phi ← Constant#15, Add#307
I[0 {}, 2147483647 {[loop] +9}]: Int32
59
InterruptCheck
60
Constant 0xa
I[10, 10]: Int32
61
Compare ← Phi#58, Constant#60 Lt
Bool
62
Test ← Compare#61 → block 2, block 56
1
0
Block 2
63
Unbox Phi#53 to Double (fallible)
Double
64
ToDouble ← Phi#58
I[0, 9]: Double
65
Add ← Unbox#63, ToDouble#64 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
66
Call ← Constant#7, Constant#3, Add#65
Value
67
Unbox Phi#54 to Int32 (fallible)
Int32
68
Add ← Unbox#67, Phi#58 [int32]
I[-2147483648, ?] (< pow(2, 32+1)): Int32
69
Goto → block 3
Block 3
70
Constant 0xff
I[255, 255]: Int32
71
Lsh ← Add#68, Constant#20
I[-2147483648, 2147483647]: Int32
72
Rsh ← Add#68, Constant#20
I[-1073741824, 1073741823]: Int32
73
BitAnd ← Add#68, Constant#70
I[0, 255]: Int32
74
Ursh ← Add#68, Constant#25
I[0, 1073741823]: Int32
75
Add ← BitAnd#73, Ursh#74 [int32]
I[0, 1073742078]: Int32
76
BitNot ← Add#68
I[-2147483648, 2147483647]: Int32
77
Sub ← Add#75, BitNot#76 [int32]
I[-2147483648, 2147483647]: Int32 (t)
78
BitXor ← Rsh#72, Sub#77
I[-2147483648, 2147483647]: Int32
79
BitOr ← Lsh#71, BitXor#78
I[-2147483648, 2147483647]: Int32
80
Goto → block 4
Block 4
81
Call ← Constant#11, Constant#3, Phi#55, Call#66
Value
82
NewArrayObject ← Constant#13
Object
83
Elements ← NewArrayObject#82
Elements
84
PostWriteBarrier ← NewArrayObject#82, Call#66
85
StoreElement ← Elements#83, Constant#15, Call#66
86
SetInitializedLength ← Elements#83, Constant#15
87
Elements ← NewArrayObject#82
Elements
88
PostWriteBarrier ← NewArrayObject#82, BitOr#79
89
StoreElement ← Elements#87, Constant#20, BitOr#79
90
SetInitializedLength ← Elements#87, Constant#20
91
Elements ← NewArrayObject#82
Elements
92
PostWriteBarrier ← NewArrayObject#82, Call#81
93
StoreElement ← Elements#91, Constant#25, Call#81
94
SetInitializedLength ← Elements#91, Constant#25
95
Elements ← NewArrayObject#82
Elements
96
PostWriteBarrier ← NewArrayObject#82, Phi#58
97
StoreElement ← Elements#95, Constant#30, Phi#58
98
SetInitializedLength ← Elements#95, Constant#30
99
Goto → block 5
Block 5
100
Constant function complex4/< (-e:18) at 104289c63d28
Object
101
GuardShape ← NewArrayObject#82
Object
102
Constant function map (self-hosted:163) at 104289c47920
Object
103
Lambda ← FunctionEnvironment#50, Constant#100
Object
104
Goto → block 6
Block 6
105
Constant function ToObject at 104289c6c740
Object
106
Constant function ToLength at 104289c6c778
Object
107
Box ← Constant#105
Value
108
DebugCheckSelfHosted ← Box#107
Value
109
Box ← Constant#106
Value
110
DebugCheckSelfHosted ← Box#109
Value
111
GuardShape ← NewArrayObject#82
Object
112
Elements ← GuardShape#111
Elements
113
ArrayLength ← Elements#112
I[0, 2147483647]: Int32
114
Goto → block 7
Block 7
115
Constant function IsCallable at 104289c6c7b0
Object
116
Box ← Constant#115
Value
117
DebugCheckSelfHosted ← Box#116
Value
118
AssertClass ← Lambda#103
119
Goto → block 8
Block 8
120
Goto → block 9
Block 9
121
Box ← Constant#3
Value
122
Goto → block 10
Block 10
123
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
124
Box ← Constant#123
Value
125
DebugCheckSelfHosted ← Box#124
Value
126
HasShape ← NewArrayObject#82
Bool
127
Test ← HasShape#126 → block 11, block 53
1
0
Block 11
128
Constant function std_Array at 104289c6c820
Object
129
Box ← Constant#128
Value
130
DebugCheckSelfHosted ← Box#129
Value
131
Unbox DebugCheckSelfHosted#130 to Object (fallible)
Object
132
GuardSpecificFunction ← Unbox#131, Constant#128
Object
133
NewArrayDynamicLength ← ArrayLength#113
Object
134
Goto → block 12
Block 12
139
GuardShape ← NewArrayObject#82
Object
140
Constant 2
I[2, 2]: Double
141
GuardShape ← NewArrayDynamicLength#133
Object
142
Goto → block 13
Block 13 (loop header)
143
Phi ← Constant#15, Add#163
I[0 {}, 2147483647 {[loop] #113-1}]: Int32
144
InterruptCheck
145
Compare ← Phi#143, ArrayLength#113 Lt
Bool
146
Test ← Compare#145 → block 14, block 19
1
0
Block 14
147
Elements ← GuardShape#139
Elements
148
InitializedLength ← Elements#147
I[0, 268435453]: Int32
149
BoundsCheck ← Phi#143, InitializedLength#148
I[0, 2147483646]: Int32
150
SpectreMaskIndex ← BoundsCheck#149, InitializedLength#148
I[0, 2147483646]: Int32
151
GuardElementNotHole ← Elements#147, SpectreMaskIndex#150
152
Goto → block 15
Block 15
153
GuardElementsArePacked ← Elements#147
154
LoadElement ← Elements#147, SpectreMaskIndex#150
Value
155
AssertClass ← Lambda#103
156
Goto → block 16
Block 16
157
Unbox LoadElement#154 to Double (fallible)
Double
158
Mul ← Unbox#157, Constant#140 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
159
Goto → block 17
Block 17
160
Elements ← GuardShape#141
Elements
161
StoreElementHole ← GuardShape#141, Elements#160, Phi#143, Mul#158
162
Goto → block 18
Block 18 (backedge)
163
Add ← Phi#143, Constant#20 [int32]
I[1, 2147483647]: Int32
164
Goto → block 13
Block 19
165
Constant function complex4/< (-e:18) at 104289c63d60
Object
166
GuardShape ← NewArrayDynamicLength#133
Object
167
Constant function filter (self-hosted:183) at 104289c47970
Object
168
Lambda ← FunctionEnvironment#50, Constant#165
Object
169
Goto → block 20
Block 20
170
DebugCheckSelfHosted ← Box#107
Value
171
DebugCheckSelfHosted ← Box#109
Value
172
GuardShape ← NewArrayDynamicLength#133
Object
173
Elements ← GuardShape#172
Elements
174
ArrayLength ← Elements#173
I[0, 2147483647]: Int32
175
Goto → block 21
Block 21
176
DebugCheckSelfHosted ← Box#116
Value
177
AssertClass ← Lambda#168
178
Goto → block 22
Block 22
179
Goto → block 23
Block 23
180
Goto → block 24
Block 24
181
DebugCheckSelfHosted ← Box#124
Value
182
HasShape ← NewArrayDynamicLength#133
Bool
183
Test ← HasShape#182 → block 25, block 54
1
0
Block 25
184
NewArrayObject ← Constant#13
Object
185
Goto → block 26
Block 26
190
GuardShape ← NewArrayDynamicLength#133
Object
191
Constant 50
I[50, 50]: Double
192
GuardShape ← NewArrayObject#184
Object
193
Goto → block 27
Block 27 (loop header)
194
Phi ← Constant#15, Add#219
I[0 {}, 2147483647 {[loop] #174-1}]: Int32
195
Phi ← Constant#15, Phi#218
Int32
196
InterruptCheck
197
Compare ← Phi#194, ArrayLength#174 Lt
Bool
198
Test ← Compare#197 → block 28, block 35
1
0
Block 28
199
Elements ← GuardShape#190
Elements
200
InitializedLength ← Elements#199
I[0, 268435453]: Int32
201
BoundsCheck ← Phi#194, InitializedLength#200
I[0, 2147483646]: Int32
202
SpectreMaskIndex ← BoundsCheck#201, InitializedLength#200
I[0, 2147483646]: Int32
203
GuardElementNotHole ← Elements#199, SpectreMaskIndex#202
204
Goto → block 29
Block 29
205
GuardElementsArePacked ← Elements#199
206
LoadElement ← Elements#199, SpectreMaskIndex#202
Value
207
AssertClass ← Lambda#168
208
Goto → block 30
Block 30
209
Unbox LoadElement#206 to Double (fallible)
Double
210
Compare ← Unbox#209, Constant#191 Gt
Bool
211
Goto → block 31
Block 31
212
Test ← Compare#210 → block 33, block 32
1
0
Block 32 (split edge)
213
Goto → block 34
Block 33
214
Add ← Phi#195, Constant#20 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
215
Elements ← GuardShape#192
Elements
216
StoreElementHole ← GuardShape#192, Elements#215, Phi#195, LoadElement#206
217
Goto → block 34
Block 34 (backedge)
218
Phi ← Add#214, Phi#195
Int32
219
Add ← Phi#194, Constant#20 [int32]
I[1, 2147483647]: Int32
220
Goto → block 27
Block 35
221
Constant function complex4/< (-e:18) at 104289c63d98
Object
222
GuardShape ← NewArrayObject#184
Object
223
Constant function reduce (self-hosted:205) at 104289c479c0
Object
224
Lambda ← FunctionEnvironment#50, Constant#221
Object
225
Call ← Constant#223, NewArrayObject#184, Lambda#224, Constant#15
Value
226
Goto → block 36
Block 36
227
Constant shape at 104289c64fc0
Shape
228
NewPlainObject ← Constant#227
Object
229
GuardShape ← NewPlainObject#228
Object
230
PostWriteBarrier ← GuardShape#229, Call#66
231
StoreFixedSlot ← GuardShape#229, Call#66 (slot 0)
232
PostWriteBarrier ← GuardShape#229, BitOr#79
233
StoreFixedSlot ← GuardShape#229, BitOr#79 (slot 1)
234
PostWriteBarrier ← GuardShape#229, Call#81
235
StoreFixedSlot ← GuardShape#229, Call#81 (slot 2)
236
Goto → block 37
Block 37
237
Constant object 104289c3f078 (Call)
Object
238
Constant function complex5/< (-e:22) at 104289c63e08
Object
239
NewCallObject ← Constant#237
Object
240
Box ← FunctionEnvironment#51
Value
241
AssertCanElidePostWriteBarrier ← NewCallObject#239, Box#240
242
Box ← Constant#48
Value
243
AssertCanElidePostWriteBarrier ← NewCallObject#239, Box#242
244
StoreFixedSlot ← NewCallObject#239, FunctionEnvironment#51 (slot 0)
245
StoreFixedSlot ← NewCallObject#239, Constant#48 (slot 1)
246
PostWriteBarrier ← NewCallObject#239, NewPlainObject#228
247
StoreFixedSlot ← NewCallObject#239, NewPlainObject#228 (slot 2)
248
AssertClass ← NewPlainObject#228
249
ObjectKeys ← NewPlainObject#228
Object
250
GuardShape ← ObjectKeys#249
Object
251
Lambda ← NewCallObject#239, Constant#238
Object
252
Goto → block 38
Block 38
253
DebugCheckSelfHosted ← Box#107
Value
254
DebugCheckSelfHosted ← Box#109
Value
255
GuardShape ← ObjectKeys#249
Object
256
Elements ← GuardShape#255
Elements
257
ArrayLength ← Elements#256
I[0, 2147483647]: Int32
258
Goto → block 39
Block 39
259
DebugCheckSelfHosted ← Box#116
Value
260
AssertClass ← Lambda#251
261
Goto → block 40
Block 40
262
Goto → block 41
Block 41
263
Goto → block 42
Block 42
264
DebugCheckSelfHosted ← Box#124
Value
265
HasShape ← ObjectKeys#249
Bool
266
Test ← HasShape#265 → block 43, block 55
1
0
Block 43
267
DebugCheckSelfHosted ← Box#129
Value
268
Unbox DebugCheckSelfHosted#267 to Object (fallible)
Object
269
GuardSpecificFunction ← Unbox#268, Constant#128
Object
270
NewArrayDynamicLength ← ArrayLength#257
Object
271
Goto → block 44
Block 44
276
GuardShape ← ObjectKeys#249
Object
277
LoadFixedSlot ← NewCallObject#239 (slot 2)
Value
278
Unbox LoadFixedSlot#277 to Object (fallible)
Object
279
GuardShape ← NewArrayDynamicLength#270
Object
280
Goto → block 45
Block 45 (loop header)
281
Phi ← Constant#15, Add#300
I[0 {}, 2147483647 {[loop] #257-1}]: Int32
282
InterruptCheck
283
Compare ← Phi#281, ArrayLength#257 Lt
Bool
284
Test ← Compare#283 → block 46, block 51
1
0
Block 46
285
Elements ← GuardShape#276
Elements
286
InitializedLength ← Elements#285
I[0, 268435453]: Int32
287
BoundsCheck ← Phi#281, InitializedLength#286
I[0, 2147483646]: Int32
288
SpectreMaskIndex ← BoundsCheck#287, InitializedLength#286
I[0, 2147483646]: Int32
289
GuardElementNotHole ← Elements#285, SpectreMaskIndex#288
290
Goto → block 47
Block 47
291
GuardElementsArePacked ← Elements#285
292
LoadElement ← Elements#285, SpectreMaskIndex#288
Value
293
AssertClass ← Lambda#251
294
Goto → block 48
Block 48
295
MegamorphicLoadSlotByValue ← Unbox#278, LoadElement#292
Value
296
Goto → block 49
Block 49
297
Elements ← GuardShape#279
Elements
298
StoreElementHole ← GuardShape#279, Elements#297, Phi#281, MegamorphicLoadSlotByValue#295
299
Goto → block 50
Block 50 (backedge)
300
Add ← Phi#281, Constant#20 [int32]
I[1, 2147483647]: Int32
301
Goto → block 45
Block 51
302
Constant function complex5/< (-e:22) at 104289c63e40
Object
303
GuardShape ← NewArrayDynamicLength#270
Object
304
Lambda ← NewCallObject#239, Constant#302
Object
305
Call ← Constant#223, NewArrayDynamicLength#270, Lambda#304, Constant#15
Value
306
Goto → block 52
Block 52 (backedge)
307
Add ← Phi#58, Constant#20 [int32]
I[1, 10]: Int32
308
Box ← BitOr#79
Value
309
Goto → block 1
Block 53
135
CallGetIntrinsicValue
Value
136
DebugCheckSelfHosted ← CallGetIntrinsicValue#135
Value
137
Bail
138
Unreachable
Block 54
186
CallGetIntrinsicValue
Value
187
DebugCheckSelfHosted ← CallGetIntrinsicValue#186
Value
188
Bail
189
Unreachable
Block 55
272
CallGetIntrinsicValue
Value
273
DebugCheckSelfHosted ← CallGetIntrinsicValue#272
Value
274
Bail
275
Unreachable
Block 56
310
Unbox Phi#53 to Double (fallible)
Double
311
Unbox Phi#54 to Double (fallible)
Double
312
Add ← Unbox#310, Unbox#311 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
313
Unbox Phi#55 to Double (fallible)
Double
314
Add ← Add#312, Unbox#313 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
315
Unbox Phi#56 to Double (fallible)
Double
316
Add ← Add#314, Unbox#315 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
317
Unbox Phi#57 to Double (fallible)
Double
318
Add ← Add#316, Unbox#317 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
319
Box ← Add#318
Value
320
Return ← Box#319
Block 0
0
Constant magic optimized-out
MagicOptimizedOut
1
Parameter THIS_SLOT
Value
2
Parameter 0
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Constant function complex1 (-e:2) at 104289c6c8c8
Object
8
Call ← Constant#7, Constant#3, Parameter#2
Value
9
Constant function complex2 (-e:7) at 104289c6c970
Object
10
Call ← Constant#9, Constant#3, Parameter#2
Value
11
Constant function complex3 (-e:11) at 104289c6c938
Object
12
Call ← Constant#11, Constant#3, Parameter#2, Call#8
Value
13
Constant shape at 104289c64f00
Shape
14
NewArrayObject ← Constant#13
Object
15
Constant 0x0
I[0, 0]: Int32
16
Elements ← NewArrayObject#14
Elements
17
PostWriteBarrier ← NewArrayObject#14, Call#8
18
StoreElement ← Elements#16, Constant#15, Call#8
19
SetInitializedLength ← Elements#16, Constant#15
20
Constant 0x1
I[1, 1]: Int32
21
Elements ← NewArrayObject#14
Elements
22
PostWriteBarrier ← NewArrayObject#14, Call#10
23
StoreElement ← Elements#21, Constant#20, Call#10
24
SetInitializedLength ← Elements#21, Constant#20
25
Constant 0x2
I[2, 2]: Int32
26
Elements ← NewArrayObject#14
Elements
27
PostWriteBarrier ← NewArrayObject#14, Call#12
28
StoreElement ← Elements#26, Constant#25, Call#12
29
SetInitializedLength ← Elements#26, Constant#25
30
Constant 0x3
I[3, 3]: Int32
31
Elements ← NewArrayObject#14
Elements
32
PostWriteBarrier ← NewArrayObject#14, Parameter#2
33
StoreElement ← Elements#31, Constant#30, Parameter#2
34
SetInitializedLength ← Elements#31, Constant#30
35
Constant function complex4 (-e:17) at 104289c6c890
Object
36
Call ← Constant#35, Constant#3, NewArrayObject#14
Value
37
Constant shape at 104289c64fa0
Shape
38
NewPlainObject ← Constant#37
Object
39
GuardShape ← NewPlainObject#38
Object
40
PostWriteBarrier ← GuardShape#39, Call#8
41
StoreFixedSlot ← GuardShape#39, Call#8 (slot 0)
42
PostWriteBarrier ← GuardShape#39, Call#10
43
StoreFixedSlot ← GuardShape#39, Call#10 (slot 1)
44
PostWriteBarrier ← GuardShape#39, Call#12
45
StoreFixedSlot ← GuardShape#39, Call#12 (slot 2)
46
PostWriteBarrier ← GuardShape#39, Call#36
47
StoreFixedSlot ← GuardShape#39, Call#36 (slot 3)
48
Constant function complex5 (-e:21) at 104289c6c900
Object
49
Call ← Constant#48, Constant#3, NewPlainObject#38
Value
50
FunctionEnvironment ← Constant#35
Object
51
FunctionEnvironment ← Constant#48
Object
52
Goto → block 1
Block 1 (loop header)
53
Phi ← Call#8, Call#66
Value
54
Phi ← Call#10, Box#296
Value
55
Phi ← Call#12, Call#81
Value
56
Phi ← Call#36, Call#217
Value
57
Phi ← Call#49, Call#293
Value
58
Phi ← Constant#15, Add#295
I[0 {}, 2147483647 {[loop] +9}]: Int32
59
InterruptCheck
60
Constant 0xa
I[10, 10]: Int32
61
Compare ← Phi#58, Constant#60 Lt
Bool
62
Test ← Compare#61 → block 2, block 56
1
0
Block 2
63
Unbox Phi#53 to Double (fallible)
Double
64
ToDouble ← Phi#58
I[0, 9]: Double
65
Add ← Unbox#63, ToDouble#64 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
66
Call ← Constant#7, Constant#3, Add#65
Value
67
Unbox Phi#54 to Int32 (fallible)
Int32
68
Add ← Unbox#67, Phi#58 [int32]
I[-2147483648, ?] (< pow(2, 32+1)): Int32
69
Goto → block 3
Block 3
70
Constant 0xff
I[255, 255]: Int32
71
Lsh ← Add#68, Constant#20
I[-2147483648, 2147483647]: Int32
72
Rsh ← Add#68, Constant#20
I[-1073741824, 1073741823]: Int32
73
BitAnd ← Add#68, Constant#70
I[0, 255]: Int32
74
Ursh ← Add#68, Constant#25
I[0, 1073741823]: Int32
75
Add ← BitAnd#73, Ursh#74 [int32]
I[0, 1073742078]: Int32
76
BitNot ← Add#68
I[-2147483648, 2147483647]: Int32
77
Sub ← Add#75, BitNot#76 [int32]
I[-2147483648, 2147483647]: Int32 (t)
78
BitXor ← Rsh#72, Sub#77
I[-2147483648, 2147483647]: Int32
79
BitOr ← Lsh#71, BitXor#78
I[-2147483648, 2147483647]: Int32
80
Goto → block 4
Block 4
81
Call ← Constant#11, Constant#3, Phi#55, Call#66
Value
82
NewArrayObject ← Constant#13
Object
83
Elements ← NewArrayObject#82
Elements
84
PostWriteBarrier ← NewArrayObject#82, Call#66
85
StoreElement ← Elements#83, Constant#15, Call#66
86
SetInitializedLength ← Elements#83, Constant#15
87
Elements ← NewArrayObject#82
Elements
88
PostWriteBarrier ← NewArrayObject#82, BitOr#79
89
StoreElement ← Elements#87, Constant#20, BitOr#79
90
SetInitializedLength ← Elements#87, Constant#20
91
Elements ← NewArrayObject#82
Elements
92
PostWriteBarrier ← NewArrayObject#82, Call#81
93
StoreElement ← Elements#91, Constant#25, Call#81
94
SetInitializedLength ← Elements#91, Constant#25
95
Elements ← NewArrayObject#82
Elements
96
PostWriteBarrier ← NewArrayObject#82, Phi#58
97
StoreElement ← Elements#95, Constant#30, Phi#58
98
SetInitializedLength ← Elements#95, Constant#30
99
Goto → block 5
Block 5
100
Constant function complex4/< (-e:18) at 104289c63d28
Object
101
GuardShape ← NewArrayObject#82
Object
102
Constant function map (self-hosted:163) at 104289c47920
Object
103
Lambda ← FunctionEnvironment#50, Constant#100
Object
104
Goto → block 6
Block 6
105
Constant function ToObject at 104289c6c740
Object
106
Constant function ToLength at 104289c6c778
Object
107
Box ← Constant#105
Value
108
DebugCheckSelfHosted ← Box#107
Value
109
Box ← Constant#106
Value
110
DebugCheckSelfHosted ← Box#109
Value
111
GuardShape ← NewArrayObject#82
Object
112
Elements ← GuardShape#111
Elements
113
ArrayLength ← Elements#112
I[0, 2147483647]: Int32
114
Goto → block 7
Block 7
115
Constant function IsCallable at 104289c6c7b0
Object
116
Box ← Constant#115
Value
117
DebugCheckSelfHosted ← Box#116
Value
118
AssertClass ← Lambda#103
119
Goto → block 8
Block 8
120
Goto → block 9
Block 9
121
Box ← Constant#3
Value
122
Goto → block 10
Block 10
123
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
124
Box ← Constant#123
Value
125
DebugCheckSelfHosted ← Box#124
Value
126
HasShape ← NewArrayObject#82
Bool
127
Test ← HasShape#126 → block 11, block 53
1
0
Block 11
128
Constant function std_Array at 104289c6c820
Object
129
Box ← Constant#128
Value
130
DebugCheckSelfHosted ← Box#129
Value
131
Unbox DebugCheckSelfHosted#130 to Object (fallible)
Object
132
GuardSpecificFunction ← Unbox#131, Constant#128
Object
133
NewArrayDynamicLength ← ArrayLength#113
Object
134
Goto → block 12
Block 12
135
GuardShape ← NewArrayObject#82
Object
136
Constant 2
I[2, 2]: Double
137
GuardShape ← NewArrayDynamicLength#133
Object
138
Goto → block 13
Block 13 (loop header)
139
Phi ← Constant#15, Add#159
I[0 {}, 2147483647 {[loop] #113-1}]: Int32
140
InterruptCheck
141
Compare ← Phi#139, ArrayLength#113 Lt
Bool
142
Test ← Compare#141 → block 14, block 19
1
0
Block 14
143
Elements ← GuardShape#135
Elements
144
InitializedLength ← Elements#143
I[0, 268435453]: Int32
145
BoundsCheck ← Phi#139, InitializedLength#144
I[0, 2147483646]: Int32
146
SpectreMaskIndex ← BoundsCheck#145, InitializedLength#144
I[0, 2147483646]: Int32
147
GuardElementNotHole ← Elements#143, SpectreMaskIndex#146
148
Goto → block 15
Block 15
149
GuardElementsArePacked ← Elements#143
150
LoadElement ← Elements#143, SpectreMaskIndex#146
Value
151
AssertClass ← Lambda#103
152
Goto → block 16
Block 16
153
Unbox LoadElement#150 to Double (fallible)
Double
154
Mul ← Unbox#153, Constant#136 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
155
Goto → block 17
Block 17
156
Elements ← GuardShape#137
Elements
157
StoreElementHole ← GuardShape#137, Elements#156, Phi#139, Mul#154
158
Goto → block 18
Block 18 (backedge)
159
Add ← Phi#139, Constant#20 [int32]
I[1, 2147483647]: Int32
160
Goto → block 13
Block 19
161
Constant function complex4/< (-e:18) at 104289c63d60
Object
162
GuardShape ← NewArrayDynamicLength#133
Object
163
Constant function filter (self-hosted:183) at 104289c47970
Object
164
Lambda ← FunctionEnvironment#50, Constant#161
Object
165
Goto → block 20
Block 20
166
DebugCheckSelfHosted ← Box#107
Value
167
DebugCheckSelfHosted ← Box#109
Value
168
GuardShape ← NewArrayDynamicLength#133
Object
169
Elements ← GuardShape#168
Elements
170
ArrayLength ← Elements#169
I[0, 2147483647]: Int32
171
Goto → block 21
Block 21
172
DebugCheckSelfHosted ← Box#116
Value
173
AssertClass ← Lambda#164
174
Goto → block 22
Block 22
175
Goto → block 23
Block 23
176
Goto → block 24
Block 24
177
DebugCheckSelfHosted ← Box#124
Value
178
HasShape ← NewArrayDynamicLength#133
Bool
179
Test ← HasShape#178 → block 25, block 54
1
0
Block 25
180
NewArrayObject ← Constant#13
Object
181
Goto → block 26
Block 26
182
GuardShape ← NewArrayDynamicLength#133
Object
183
Constant 50
I[50, 50]: Double
184
GuardShape ← NewArrayObject#180
Object
185
Goto → block 27
Block 27 (loop header)
186
Phi ← Constant#15, Add#211
I[0 {}, 2147483647 {[loop] #170-1}]: Int32
187
Phi ← Constant#15, Phi#210
Int32
188
InterruptCheck
189
Compare ← Phi#186, ArrayLength#170 Lt
Bool
190
Test ← Compare#189 → block 28, block 35
1
0
Block 28
191
Elements ← GuardShape#182
Elements
192
InitializedLength ← Elements#191
I[0, 268435453]: Int32
193
BoundsCheck ← Phi#186, InitializedLength#192
I[0, 2147483646]: Int32
194
SpectreMaskIndex ← BoundsCheck#193, InitializedLength#192
I[0, 2147483646]: Int32
195
GuardElementNotHole ← Elements#191, SpectreMaskIndex#194
196
Goto → block 29
Block 29
197
GuardElementsArePacked ← Elements#191
198
LoadElement ← Elements#191, SpectreMaskIndex#194
Value
199
AssertClass ← Lambda#164
200
Goto → block 30
Block 30
201
Unbox LoadElement#198 to Double (fallible)
Double
202
Compare ← Unbox#201, Constant#183 Gt
Bool
203
Goto → block 31
Block 31
204
Test ← Compare#202 → block 33, block 32
1
0
Block 32 (split edge)
205
Goto → block 34
Block 33
206
Add ← Phi#187, Constant#20 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
207
Elements ← GuardShape#184
Elements
208
StoreElementHole ← GuardShape#184, Elements#207, Phi#187, LoadElement#198
209
Goto → block 34
Block 34 (backedge)
210
Phi ← Add#206, Phi#187
Int32
211
Add ← Phi#186, Constant#20 [int32]
I[1, 2147483647]: Int32
212
Goto → block 27
Block 35
213
Constant function complex4/< (-e:18) at 104289c63d98
Object
214
GuardShape ← NewArrayObject#180
Object
215
Constant function reduce (self-hosted:205) at 104289c479c0
Object
216
Lambda ← FunctionEnvironment#50, Constant#213
Object
217
Call ← Constant#215, NewArrayObject#180, Lambda#216, Constant#15
Value
218
Goto → block 36
Block 36
219
Constant shape at 104289c64fc0
Shape
220
NewPlainObject ← Constant#219
Object
221
GuardShape ← NewPlainObject#220
Object
222
PostWriteBarrier ← GuardShape#221, Call#66
223
StoreFixedSlot ← GuardShape#221, Call#66 (slot 0)
224
PostWriteBarrier ← GuardShape#221, BitOr#79
225
StoreFixedSlot ← GuardShape#221, BitOr#79 (slot 1)
226
PostWriteBarrier ← GuardShape#221, Call#81
227
StoreFixedSlot ← GuardShape#221, Call#81 (slot 2)
228
Goto → block 37
Block 37
229
Constant object 104289c3f078 (Call)
Object
230
Constant function complex5/< (-e:22) at 104289c63e08
Object
231
NewCallObject ← Constant#229
Object
232
Box ← FunctionEnvironment#51
Value
233
AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#232
234
Box ← Constant#48
Value
235
AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#234
236
StoreFixedSlot ← NewCallObject#231, FunctionEnvironment#51 (slot 0)
237
StoreFixedSlot ← NewCallObject#231, Constant#48 (slot 1)
238
PostWriteBarrier ← NewCallObject#231, NewPlainObject#220
239
StoreFixedSlot ← NewCallObject#231, NewPlainObject#220 (slot 2)
240
AssertClass ← NewPlainObject#220
241
ObjectKeys ← NewPlainObject#220
Object
242
GuardShape ← ObjectKeys#241
Object
243
Lambda ← NewCallObject#231, Constant#230
Object
244
Goto → block 38
Block 38
245
DebugCheckSelfHosted ← Box#107
Value
246
DebugCheckSelfHosted ← Box#109
Value
247
GuardShape ← ObjectKeys#241
Object
248
Elements ← GuardShape#247
Elements
249
ArrayLength ← Elements#248
I[0, 2147483647]: Int32
250
Goto → block 39
Block 39
251
DebugCheckSelfHosted ← Box#116
Value
252
AssertClass ← Lambda#243
253
Goto → block 40
Block 40
254
Goto → block 41
Block 41
255
Goto → block 42
Block 42
256
DebugCheckSelfHosted ← Box#124
Value
257
HasShape ← ObjectKeys#241
Bool
258
Test ← HasShape#257 → block 43, block 55
1
0
Block 43
259
DebugCheckSelfHosted ← Box#129
Value
260
Unbox DebugCheckSelfHosted#259 to Object (fallible)
Object
261
GuardSpecificFunction ← Unbox#260, Constant#128
Object
262
NewArrayDynamicLength ← ArrayLength#249
Object
263
Goto → block 44
Block 44
264
GuardShape ← ObjectKeys#241
Object
265
LoadFixedSlot ← NewCallObject#231 (slot 2)
Value
266
Unbox LoadFixedSlot#265 to Object (fallible)
Object
267
GuardShape ← NewArrayDynamicLength#262
Object
268
Goto → block 45
Block 45 (loop header)
269
Phi ← Constant#15, Add#288
I[0 {}, 2147483647 {[loop] #249-1}]: Int32
270
InterruptCheck
271
Compare ← Phi#269, ArrayLength#249 Lt
Bool
272
Test ← Compare#271 → block 46, block 51
1
0
Block 46
273
Elements ← GuardShape#264
Elements
274
InitializedLength ← Elements#273
I[0, 268435453]: Int32
275
BoundsCheck ← Phi#269, InitializedLength#274
I[0, 2147483646]: Int32
276
SpectreMaskIndex ← BoundsCheck#275, InitializedLength#274
I[0, 2147483646]: Int32
277
GuardElementNotHole ← Elements#273, SpectreMaskIndex#276
278
Goto → block 47
Block 47
279
GuardElementsArePacked ← Elements#273
280
LoadElement ← Elements#273, SpectreMaskIndex#276
Value
281
AssertClass ← Lambda#243
282
Goto → block 48
Block 48
283
MegamorphicLoadSlotByValue ← Unbox#266, LoadElement#280
Value
284
Goto → block 49
Block 49
285
Elements ← GuardShape#267
Elements
286
StoreElementHole ← GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283
287
Goto → block 50
Block 50 (backedge)
288
Add ← Phi#269, Constant#20 [int32]
I[1, 2147483647]: Int32
289
Goto → block 45
Block 51
290
Constant function complex5/< (-e:22) at 104289c63e40
Object
291
GuardShape ← NewArrayDynamicLength#262
Object
292
Lambda ← NewCallObject#231, Constant#290
Object
293
Call ← Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15
Value
294
Goto → block 52
Block 52 (backedge)
295
Add ← Phi#58, Constant#20 [int32]
I[1, 10]: Int32
296
Box ← BitOr#79
Value
297
Goto → block 1
Block 53
298
CallGetIntrinsicValue
Value
299
DebugCheckSelfHosted ← CallGetIntrinsicValue#298
Value
300
Bail
301
Unreachable
Block 54
302
CallGetIntrinsicValue
Value
303
DebugCheckSelfHosted ← CallGetIntrinsicValue#302
Value
304
Bail
305
Unreachable
Block 55
306
CallGetIntrinsicValue
Value
307
DebugCheckSelfHosted ← CallGetIntrinsicValue#306
Value
308
Bail
309
Unreachable
Block 56
310
Unbox Phi#53 to Double (fallible)
Double
311
Unbox Phi#54 to Double (fallible)
Double
312
Add ← Unbox#310, Unbox#311 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
313
Unbox Phi#55 to Double (fallible)
Double
314
Add ← Add#312, Unbox#313 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
315
Unbox Phi#56 to Double (fallible)
Double
316
Add ← Add#314, Unbox#315 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
317
Unbox Phi#57 to Double (fallible)
Double
318
Add ← Add#316, Unbox#317 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
319
Box ← Add#318
Value
320
Return ← Box#319
Block 0
0
Constant magic optimized-out
MagicOptimizedOut
1
Parameter THIS_SLOT
Value
2
Parameter 0
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Constant function complex1 (-e:2) at 104289c6c8c8
Object
8
Call ← Constant#7, Constant#3, Parameter#2
Value
9
Constant function complex2 (-e:7) at 104289c6c970
Object
10
Call ← Constant#9, Constant#3, Parameter#2
Value
11
Constant function complex3 (-e:11) at 104289c6c938
Object
12
Call ← Constant#11, Constant#3, Parameter#2, Call#8
Value
13
Constant shape at 104289c64f00
Shape
14
NewArrayObject ← Constant#13
Object
15
Constant 0x0
I[0, 0]: Int32
16
Elements ← NewArrayObject#14
Elements
17
PostWriteBarrier ← NewArrayObject#14, Call#8
18
StoreElement ← Elements#16, Constant#15, Call#8
19
SetInitializedLength ← Elements#16, Constant#15
20
Constant 0x1
I[1, 1]: Int32
21
Elements ← NewArrayObject#14
Elements
22
PostWriteBarrier ← NewArrayObject#14, Call#10
23
StoreElement ← Elements#21, Constant#20, Call#10
24
SetInitializedLength ← Elements#21, Constant#20
25
Constant 0x2
I[2, 2]: Int32
26
Elements ← NewArrayObject#14
Elements
27
PostWriteBarrier ← NewArrayObject#14, Call#12
28
StoreElement ← Elements#26, Constant#25, Call#12
29
SetInitializedLength ← Elements#26, Constant#25
30
Constant 0x3
I[3, 3]: Int32
31
Elements ← NewArrayObject#14
Elements
32
PostWriteBarrier ← NewArrayObject#14, Parameter#2
33
StoreElement ← Elements#31, Constant#30, Parameter#2
34
SetInitializedLength ← Elements#31, Constant#30
35
Constant function complex4 (-e:17) at 104289c6c890
Object
36
Call ← Constant#35, Constant#3, NewArrayObject#14
Value
37
Constant shape at 104289c64fa0
Shape
38
NewPlainObject ← Constant#37
Object
39
GuardShape ← NewPlainObject#38
Object
40
PostWriteBarrier ← GuardShape#39, Call#8
41
StoreFixedSlot ← GuardShape#39, Call#8 (slot 0)
42
PostWriteBarrier ← GuardShape#39, Call#10
43
StoreFixedSlot ← GuardShape#39, Call#10 (slot 1)
44
PostWriteBarrier ← GuardShape#39, Call#12
45
StoreFixedSlot ← GuardShape#39, Call#12 (slot 2)
46
PostWriteBarrier ← GuardShape#39, Call#36
47
StoreFixedSlot ← GuardShape#39, Call#36 (slot 3)
48
Constant function complex5 (-e:21) at 104289c6c900
Object
49
Call ← Constant#48, Constant#3, NewPlainObject#38
Value
50
FunctionEnvironment ← Constant#35
Object
51
FunctionEnvironment ← Constant#48
Object
52
Goto → block 1
Block 1 (loop header)
53
Phi ← Call#8, Call#66
Value
54
Phi ← Call#10, Box#296
Value
55
Phi ← Call#12, Call#81
Value
56
Phi ← Call#36, Call#217
Value
57
Phi ← Call#49, Call#293
Value
58
Phi ← Constant#15, Add#295
I[0 {}, 2147483647 {[loop] +9}]: Int32
59
InterruptCheck
60
Constant 0xa
I[10, 10]: Int32
61
Compare ← Phi#58, Constant#60 Lt
Bool
62
Test ← Compare#61 → block 2, block 56
1
0
Block 2
63
Unbox Phi#53 to Double (fallible)
Double
64
ToDouble ← Phi#58
I[0, 9]: Double
65
Add ← Unbox#63, ToDouble#64 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
66
Call ← Constant#7, Constant#3, Add#65
Value
67
Unbox Phi#54 to Int32 (fallible)
Int32
68
Add ← Unbox#67, Phi#58 [int32]
I[-2147483648, ?] (< pow(2, 32+1)): Int32
69
Goto → block 3
Block 3
70
Constant 0xff
I[255, 255]: Int32
71
Lsh ← Add#68, Constant#20
I[-2147483648, 2147483647]: Int32
72
Rsh ← Add#68, Constant#20
I[-1073741824, 1073741823]: Int32
73
BitAnd ← Add#68, Constant#70
I[0, 255]: Int32
74
Ursh ← Add#68, Constant#25
I[0, 1073741823]: Int32
75
Add ← BitAnd#73, Ursh#74 [int32]
I[0, 1073742078]: Int32
76
BitNot ← Add#68
I[-2147483648, 2147483647]: Int32
77
Sub ← Add#75, BitNot#76 [int32]
I[-2147483648, 2147483647]: Int32 (t)
78
BitXor ← Rsh#72, Sub#77
I[-2147483648, 2147483647]: Int32
79
BitOr ← Lsh#71, BitXor#78
I[-2147483648, 2147483647]: Int32
80
Goto → block 4
Block 4
81
Call ← Constant#11, Constant#3, Phi#55, Call#66
Value
82
NewArrayObject ← Constant#13
Object
83
Elements ← NewArrayObject#82
Elements
84
PostWriteBarrier ← NewArrayObject#82, Call#66
85
StoreElement ← Elements#83, Constant#15, Call#66
86
SetInitializedLength ← Elements#83, Constant#15
87
Elements ← NewArrayObject#82
Elements
88
PostWriteBarrier ← NewArrayObject#82, BitOr#79
89
StoreElement ← Elements#87, Constant#20, BitOr#79
90
SetInitializedLength ← Elements#87, Constant#20
91
Elements ← NewArrayObject#82
Elements
92
PostWriteBarrier ← NewArrayObject#82, Call#81
93
StoreElement ← Elements#91, Constant#25, Call#81
94
SetInitializedLength ← Elements#91, Constant#25
95
Elements ← NewArrayObject#82
Elements
96
PostWriteBarrier ← NewArrayObject#82, Phi#58
97
StoreElement ← Elements#95, Constant#30, Phi#58
98
SetInitializedLength ← Elements#95, Constant#30
99
Goto → block 5
Block 5
100
Constant function complex4/< (-e:18) at 104289c63d28
Object
101
GuardShape ← NewArrayObject#82
Object
102
Constant function map (self-hosted:163) at 104289c47920
Object
103
Lambda ← FunctionEnvironment#50, Constant#100
Object
104
Goto → block 6
Block 6
105
Constant function ToObject at 104289c6c740
Object
106
Constant function ToLength at 104289c6c778
Object
107
Box ← Constant#105
Value
108
DebugCheckSelfHosted ← Box#107
Value
109
Box ← Constant#106
Value
110
DebugCheckSelfHosted ← Box#109
Value
111
GuardShape ← NewArrayObject#82
Object
112
Elements ← GuardShape#111
Elements
113
ArrayLength ← Elements#112
I[0, 2147483647]: Int32
114
Goto → block 7
Block 7
115
Constant function IsCallable at 104289c6c7b0
Object
116
Box ← Constant#115
Value
117
DebugCheckSelfHosted ← Box#116
Value
118
AssertClass ← Lambda#103
119
Goto → block 8
Block 8
120
Goto → block 9
Block 9
121
Box ← Constant#3
Value
122
Goto → block 10
Block 10
123
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
124
Box ← Constant#123
Value
125
DebugCheckSelfHosted ← Box#124
Value
126
HasShape ← NewArrayObject#82
Bool
127
Test ← HasShape#126 → block 11, block 53
1
0
Block 11
128
Constant function std_Array at 104289c6c820
Object
129
Box ← Constant#128
Value
130
DebugCheckSelfHosted ← Box#129
Value
131
Unbox DebugCheckSelfHosted#130 to Object (fallible)
Object
132
GuardSpecificFunction ← Unbox#131, Constant#128
Object
133
NewArrayDynamicLength ← ArrayLength#113
Object
134
Goto → block 12
Block 12
135
GuardShape ← NewArrayObject#82
Object
136
Constant 2
I[2, 2]: Double
137
GuardShape ← NewArrayDynamicLength#133
Object
138
Goto → block 13
Block 13 (loop header)
139
Phi ← Constant#15, Add#159
I[0 {}, 2147483647 {[loop] #113-1}]: Int32
140
InterruptCheck
141
Compare ← Phi#139, ArrayLength#113 Lt
Bool
142
Test ← Compare#141 → block 14, block 19
1
0
Block 14
143
Elements ← GuardShape#135
Elements
144
InitializedLength ← Elements#143
I[0, 268435453]: Int32
145
BoundsCheck ← Phi#139, InitializedLength#144
I[0, 2147483646]: Int32
146
SpectreMaskIndex ← Phi#139, InitializedLength#144
I[0, 2147483646]: Int32
147
GuardElementNotHole ← Elements#143, SpectreMaskIndex#146
148
Goto → block 15
Block 15
149
GuardElementsArePacked ← Elements#143
150
LoadElement ← Elements#143, SpectreMaskIndex#146
Value
151
AssertClass ← Lambda#103
152
Goto → block 16
Block 16
153
Unbox LoadElement#150 to Double (fallible)
Double
154
Mul ← Unbox#153, Constant#136 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
155
Goto → block 17
Block 17
156
Elements ← GuardShape#137
Elements
157
StoreElementHole ← GuardShape#137, Elements#156, Phi#139, Mul#154
158
Goto → block 18
Block 18 (backedge)
159
Add ← Phi#139, Constant#20 [int32]
I[1, 2147483647]: Int32
160
Goto → block 13
Block 19
161
Constant function complex4/< (-e:18) at 104289c63d60
Object
162
GuardShape ← NewArrayDynamicLength#133
Object
163
Constant function filter (self-hosted:183) at 104289c47970
Object
164
Lambda ← FunctionEnvironment#50, Constant#161
Object
165
Goto → block 20
Block 20
166
DebugCheckSelfHosted ← Box#107
Value
167
DebugCheckSelfHosted ← Box#109
Value
168
GuardShape ← NewArrayDynamicLength#133
Object
169
Elements ← GuardShape#168
Elements
170
ArrayLength ← Elements#169
I[0, 2147483647]: Int32
171
Goto → block 21
Block 21
172
DebugCheckSelfHosted ← Box#116
Value
173
AssertClass ← Lambda#164
174
Goto → block 22
Block 22
175
Goto → block 23
Block 23
176
Goto → block 24
Block 24
177
DebugCheckSelfHosted ← Box#124
Value
178
HasShape ← NewArrayDynamicLength#133
Bool
179
Test ← HasShape#178 → block 25, block 54
1
0
Block 25
180
NewArrayObject ← Constant#13
Object
181
Goto → block 26
Block 26
182
GuardShape ← NewArrayDynamicLength#133
Object
183
Constant 50
I[50, 50]: Double
184
GuardShape ← NewArrayObject#180
Object
185
Goto → block 27
Block 27 (loop header)
186
Phi ← Constant#15, Add#211
I[0 {}, 2147483647 {[loop] #170-1}]: Int32
187
Phi ← Constant#15, Phi#210
Int32
188
InterruptCheck
189
Compare ← Phi#186, ArrayLength#170 Lt
Bool
190
Test ← Compare#189 → block 28, block 35
1
0
Block 28
191
Elements ← GuardShape#182
Elements
192
InitializedLength ← Elements#191
I[0, 268435453]: Int32
193
BoundsCheck ← Phi#186, InitializedLength#192
I[0, 2147483646]: Int32
194
SpectreMaskIndex ← Phi#186, InitializedLength#192
I[0, 2147483646]: Int32
195
GuardElementNotHole ← Elements#191, SpectreMaskIndex#194
196
Goto → block 29
Block 29
197
GuardElementsArePacked ← Elements#191
198
LoadElement ← Elements#191, SpectreMaskIndex#194
Value
199
AssertClass ← Lambda#164
200
Goto → block 30
Block 30
201
Unbox LoadElement#198 to Double (fallible)
Double
202
Compare ← Unbox#201, Constant#183 Gt
Bool
203
Goto → block 31
Block 31
204
Test ← Compare#202 → block 33, block 32
1
0
Block 32 (split edge)
205
Goto → block 34
Block 33
206
Add ← Phi#187, Constant#20 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
207
Elements ← GuardShape#184
Elements
208
StoreElementHole ← GuardShape#184, Elements#207, Phi#187, LoadElement#198
209
Goto → block 34
Block 34 (backedge)
210
Phi ← Add#206, Phi#187
Int32
211
Add ← Phi#186, Constant#20 [int32]
I[1, 2147483647]: Int32
212
Goto → block 27
Block 35
213
Constant function complex4/< (-e:18) at 104289c63d98
Object
214
GuardShape ← NewArrayObject#180
Object
215
Constant function reduce (self-hosted:205) at 104289c479c0
Object
216
Lambda ← FunctionEnvironment#50, Constant#213
Object
217
Call ← Constant#215, NewArrayObject#180, Lambda#216, Constant#15
Value
218
Goto → block 36
Block 36
219
Constant shape at 104289c64fc0
Shape
220
NewPlainObject ← Constant#219
Object
221
GuardShape ← NewPlainObject#220
Object
222
PostWriteBarrier ← GuardShape#221, Call#66
223
StoreFixedSlot ← GuardShape#221, Call#66 (slot 0)
224
PostWriteBarrier ← GuardShape#221, BitOr#79
225
StoreFixedSlot ← GuardShape#221, BitOr#79 (slot 1)
226
PostWriteBarrier ← GuardShape#221, Call#81
227
StoreFixedSlot ← GuardShape#221, Call#81 (slot 2)
228
Goto → block 37
Block 37
229
Constant object 104289c3f078 (Call)
Object
230
Constant function complex5/< (-e:22) at 104289c63e08
Object
231
NewCallObject ← Constant#229
Object
232
Box ← FunctionEnvironment#51
Value
233
AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#232
234
Box ← Constant#48
Value
235
AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#234
236
StoreFixedSlot ← NewCallObject#231, FunctionEnvironment#51 (slot 0)
237
StoreFixedSlot ← NewCallObject#231, Constant#48 (slot 1)
238
PostWriteBarrier ← NewCallObject#231, NewPlainObject#220
239
StoreFixedSlot ← NewCallObject#231, NewPlainObject#220 (slot 2)
240
AssertClass ← NewPlainObject#220
241
ObjectKeys ← NewPlainObject#220
Object
242
GuardShape ← ObjectKeys#241
Object
243
Lambda ← NewCallObject#231, Constant#230
Object
244
Goto → block 38
Block 38
245
DebugCheckSelfHosted ← Box#107
Value
246
DebugCheckSelfHosted ← Box#109
Value
247
GuardShape ← ObjectKeys#241
Object
248
Elements ← GuardShape#247
Elements
249
ArrayLength ← Elements#248
I[0, 2147483647]: Int32
250
Goto → block 39
Block 39
251
DebugCheckSelfHosted ← Box#116
Value
252
AssertClass ← Lambda#243
253
Goto → block 40
Block 40
254
Goto → block 41
Block 41
255
Goto → block 42
Block 42
256
DebugCheckSelfHosted ← Box#124
Value
257
HasShape ← ObjectKeys#241
Bool
258
Test ← HasShape#257 → block 43, block 55
1
0
Block 43
259
DebugCheckSelfHosted ← Box#129
Value
260
Unbox DebugCheckSelfHosted#259 to Object (fallible)
Object
261
GuardSpecificFunction ← Unbox#260, Constant#128
Object
262
NewArrayDynamicLength ← ArrayLength#249
Object
263
Goto → block 44
Block 44
264
GuardShape ← ObjectKeys#241
Object
265
LoadFixedSlot ← NewCallObject#231 (slot 2)
Value
266
Unbox LoadFixedSlot#265 to Object (fallible)
Object
267
GuardShape ← NewArrayDynamicLength#262
Object
268
Goto → block 45
Block 45 (loop header)
269
Phi ← Constant#15, Add#288
I[0 {}, 2147483647 {[loop] #249-1}]: Int32
270
InterruptCheck
271
Compare ← Phi#269, ArrayLength#249 Lt
Bool
272
Test ← Compare#271 → block 46, block 51
1
0
Block 46
273
Elements ← GuardShape#264
Elements
274
InitializedLength ← Elements#273
I[0, 268435453]: Int32
275
BoundsCheck ← Phi#269, InitializedLength#274
I[0, 2147483646]: Int32
276
SpectreMaskIndex ← Phi#269, InitializedLength#274
I[0, 2147483646]: Int32
277
GuardElementNotHole ← Elements#273, SpectreMaskIndex#276
278
Goto → block 47
Block 47
279
GuardElementsArePacked ← Elements#273
280
LoadElement ← Elements#273, SpectreMaskIndex#276
Value
281
AssertClass ← Lambda#243
282
Goto → block 48
Block 48
283
MegamorphicLoadSlotByValue ← Unbox#266, LoadElement#280
Value
284
Goto → block 49
Block 49
285
Elements ← GuardShape#267
Elements
286
StoreElementHole ← GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283
287
Goto → block 50
Block 50 (backedge)
288
Add ← Phi#269, Constant#20 [int32]
I[1, 2147483647]: Int32
289
Goto → block 45
Block 51
290
Constant function complex5/< (-e:22) at 104289c63e40
Object
291
GuardShape ← NewArrayDynamicLength#262
Object
292
Lambda ← NewCallObject#231, Constant#290
Object
293
Call ← Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15
Value
294
Goto → block 52
Block 52 (backedge)
295
Add ← Phi#58, Constant#20 [int32]
I[1, 10]: Int32
296
Box ← BitOr#79
Value
297
Goto → block 1
Block 53
298
CallGetIntrinsicValue
Value
299
DebugCheckSelfHosted ← CallGetIntrinsicValue#298
Value
300
Bail
301
Unreachable
Block 54
302
CallGetIntrinsicValue
Value
303
DebugCheckSelfHosted ← CallGetIntrinsicValue#302
Value
304
Bail
305
Unreachable
Block 55
306
CallGetIntrinsicValue
Value
307
DebugCheckSelfHosted ← CallGetIntrinsicValue#306
Value
308
Bail
309
Unreachable
Block 56
310
Unbox Phi#53 to Double (fallible)
Double
311
Unbox Phi#54 to Double (fallible)
Double
312
Add ← Unbox#310, Unbox#311 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
313
Unbox Phi#55 to Double (fallible)
Double
314
Add ← Add#312, Unbox#313 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
315
Unbox Phi#56 to Double (fallible)
Double
316
Add ← Add#314, Unbox#315 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
317
Unbox Phi#57 to Double (fallible)
Double
318
Add ← Add#316, Unbox#317 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
319
Box ← Add#318
Value
320
Return ← Box#319
Block 0
0
Constant magic optimized-out
MagicOptimizedOut
1
Parameter THIS_SLOT
Value
2
Parameter 0
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Constant function complex1 (-e:2) at 104289c6c8c8
Object
8
Call ← Constant#7, Constant#3, Parameter#2
Value
9
Constant function complex2 (-e:7) at 104289c6c970
Object
10
Call ← Constant#9, Constant#3, Parameter#2
Value
11
Constant function complex3 (-e:11) at 104289c6c938
Object
12
Call ← Constant#11, Constant#3, Parameter#2, Call#8
Value
13
Constant shape at 104289c64f00
Shape
14
NewArrayObject ← Constant#13
Object
15
Constant 0x0
I[0, 0]: Int32
16
Elements ← NewArrayObject#14
Elements
17
PostWriteBarrier ← NewArrayObject#14, Call#8
18
StoreElement ← Elements#16, Constant#15, Call#8
19
SetInitializedLength ← Elements#16, Constant#15
20
Constant 0x1
I[1, 1]: Int32
21
Elements ← NewArrayObject#14
Elements
22
PostWriteBarrier ← NewArrayObject#14, Call#10
23
StoreElement ← Elements#21, Constant#20, Call#10
24
SetInitializedLength ← Elements#21, Constant#20
25
Constant 0x2
I[2, 2]: Int32
26
Elements ← NewArrayObject#14
Elements
27
PostWriteBarrier ← NewArrayObject#14, Call#12
28
StoreElement ← Elements#26, Constant#25, Call#12
29
SetInitializedLength ← Elements#26, Constant#25
30
Constant 0x3
I[3, 3]: Int32
31
Elements ← NewArrayObject#14
Elements
32
PostWriteBarrier ← NewArrayObject#14, Parameter#2
33
StoreElement ← Elements#31, Constant#30, Parameter#2
34
SetInitializedLength ← Elements#31, Constant#30
35
Constant function complex4 (-e:17) at 104289c6c890
Object
36
Call ← Constant#35, Constant#3, NewArrayObject#14
Value
37
Constant shape at 104289c64fa0
Shape
38
NewPlainObject ← Constant#37
Object
39
GuardShape ← NewPlainObject#38
Object
40
PostWriteBarrier ← GuardShape#39, Call#8
41
StoreFixedSlot ← GuardShape#39, Call#8 (slot 0)
42
PostWriteBarrier ← GuardShape#39, Call#10
43
StoreFixedSlot ← GuardShape#39, Call#10 (slot 1)
44
PostWriteBarrier ← GuardShape#39, Call#12
45
StoreFixedSlot ← GuardShape#39, Call#12 (slot 2)
46
PostWriteBarrier ← GuardShape#39, Call#36
47
StoreFixedSlot ← GuardShape#39, Call#36 (slot 3)
48
Constant function complex5 (-e:21) at 104289c6c900
Object
49
Call ← Constant#48, Constant#3, NewPlainObject#38
Value
50
FunctionEnvironment ← Constant#35
Object
51
FunctionEnvironment ← Constant#48
Object
52
Goto → block 1
Block 1 (loop header)
53
Phi ← Call#8, Call#66
Value
54
Phi ← Call#10, Box#296
Value
55
Phi ← Call#12, Call#81
Value
56
Phi ← Call#36, Call#217
Value
57
Phi ← Call#49, Call#293
Value
58
Phi ← Constant#15, Add#295
I[0 {}, 2147483647 {[loop] +9}]: Int32
59
InterruptCheck
60
Constant 0xa
I[10, 10]: Int32
61
Compare ← Phi#58, Constant#60 Lt
Bool
62
Test ← Compare#61 → block 2, block 56
1
0
Block 2
63
Unbox Phi#53 to Double (fallible)
Double
64
ToDouble ← Phi#58
I[0, 9]: Double
65
Add ← Unbox#63, ToDouble#64 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
66
Call ← Constant#7, Constant#3, Add#65
Value
67
Unbox Phi#54 to Int32 (fallible)
Int32
68
Add ← Unbox#67, Phi#58 [int32]
I[-2147483648, ?] (< pow(2, 32+1)): Int32
69
Goto → block 3
Block 3
70
Constant 0xff
I[255, 255]: Int32
71
Lsh ← Add#68, Constant#20
I[-2147483648, 2147483647]: Int32
72
Rsh ← Add#68, Constant#20
I[-1073741824, 1073741823]: Int32
73
BitAnd ← Add#68, Constant#70
I[0, 255]: Int32
74
Ursh ← Add#68, Constant#25
I[0, 1073741823]: Int32
75
Add ← BitAnd#73, Ursh#74 [int32]
I[0, 1073742078]: Int32
76
BitNot ← Add#68
I[-2147483648, 2147483647]: Int32
77
Sub ← Add#75, BitNot#76 [int32]
I[-2147483648, 2147483647]: Int32 (t)
78
BitXor ← Rsh#72, Sub#77
I[-2147483648, 2147483647]: Int32
79
BitOr ← Lsh#71, BitXor#78
I[-2147483648, 2147483647]: Int32
80
Goto → block 4
Block 4
81
Call ← Constant#11, Constant#3, Phi#55, Call#66
Value
82
NewArrayObject ← Constant#13
Object
83
Elements ← NewArrayObject#82
Elements
84
PostWriteBarrier ← NewArrayObject#82, Call#66
85
StoreElement ← Elements#83, Constant#15, Call#66
86
SetInitializedLength ← Elements#83, Constant#15
87
Elements ← NewArrayObject#82
Elements
88
PostWriteBarrier ← NewArrayObject#82, BitOr#79
89
StoreElement ← Elements#87, Constant#20, BitOr#79
90
SetInitializedLength ← Elements#87, Constant#20
91
Elements ← NewArrayObject#82
Elements
92
PostWriteBarrier ← NewArrayObject#82, Call#81
93
StoreElement ← Elements#91, Constant#25, Call#81
94
SetInitializedLength ← Elements#91, Constant#25
95
Elements ← NewArrayObject#82
Elements
96
PostWriteBarrier ← NewArrayObject#82, Phi#58
97
StoreElement ← Elements#95, Constant#30, Phi#58
98
SetInitializedLength ← Elements#95, Constant#30
99
Goto → block 5
Block 5
100
Constant function complex4/< (-e:18) at 104289c63d28
Object
101
GuardShape ← NewArrayObject#82
Object
102
Constant function map (self-hosted:163) at 104289c47920
Object
103
Lambda ← FunctionEnvironment#50, Constant#100
Object
104
Goto → block 6
Block 6
105
Constant function ToObject at 104289c6c740
Object
106
Constant function ToLength at 104289c6c778
Object
107
Box ← Constant#105
Value
108
DebugCheckSelfHosted ← Box#107
Value
109
Box ← Constant#106
Value
110
DebugCheckSelfHosted ← Box#109
Value
111
GuardShape ← NewArrayObject#82
Object
112
Elements ← GuardShape#111
Elements
113
ArrayLength ← Elements#112
I[0, 2147483647]: Int32
114
Goto → block 7
Block 7
115
Constant function IsCallable at 104289c6c7b0
Object
116
Box ← Constant#115
Value
117
DebugCheckSelfHosted ← Box#116
Value
118
AssertClass ← Lambda#103
119
Goto → block 8
Block 8
120
Goto → block 9
Block 9
121
Box ← Constant#3
Value
122
Goto → block 10
Block 10
123
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
124
Box ← Constant#123
Value
125
DebugCheckSelfHosted ← Box#124
Value
126
HasShape ← NewArrayObject#82
Bool
127
Test ← HasShape#126 → block 11, block 53
1
0
Block 11
128
Constant function std_Array at 104289c6c820
Object
129
Box ← Constant#128
Value
130
DebugCheckSelfHosted ← Box#129
Value
131
Unbox DebugCheckSelfHosted#130 to Object (fallible)
Object
132
GuardSpecificFunction ← Unbox#131, Constant#128
Object
133
NewArrayDynamicLength ← ArrayLength#113
Object
134
Goto → block 12
Block 12
135
GuardShape ← NewArrayObject#82
Object
136
Constant 2
I[2, 2]: Double
137
GuardShape ← NewArrayDynamicLength#133
Object
138
Goto → block 13
Block 13 (loop header)
139
Phi ← Constant#15, Add#159
I[0 {}, 2147483647 {[loop] #113-1}]: Int32
140
InterruptCheck
141
Compare ← Phi#139, ArrayLength#113 Lt
Bool
142
Test ← Compare#141 → block 14, block 19
1
0
Block 14
143
Elements ← GuardShape#135
Elements
144
InitializedLength ← Elements#143
I[0, 268435453]: Int32
145
BoundsCheck ← Phi#139, InitializedLength#144
I[0, 2147483646]: Int32
146
SpectreMaskIndex ← Phi#139, InitializedLength#144
I[0, 2147483646]: Int32
147
GuardElementNotHole ← Elements#143, SpectreMaskIndex#146
148
Goto → block 15
Block 15
149
GuardElementsArePacked ← Elements#143
150
LoadElement ← Elements#143, SpectreMaskIndex#146
Value
151
AssertClass ← Lambda#103
152
Goto → block 16
Block 16
153
Unbox LoadElement#150 to Double (fallible)
Double
154
Mul ← Unbox#153, Constant#136 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
155
Goto → block 17
Block 17
156
Elements ← GuardShape#137
Elements
157
StoreElementHole ← GuardShape#137, Elements#156, Phi#139, Mul#154
158
Goto → block 18
Block 18 (backedge)
159
Add ← Phi#139, Constant#20 [int32]
I[1, 2147483647]: Int32
160
Goto → block 13
Block 19
161
Constant function complex4/< (-e:18) at 104289c63d60
Object
162
GuardShape ← NewArrayDynamicLength#133
Object
163
Constant function filter (self-hosted:183) at 104289c47970
Object
164
Lambda ← FunctionEnvironment#50, Constant#161
Object
165
Goto → block 20
Block 20
166
DebugCheckSelfHosted ← Box#107
Value
167
DebugCheckSelfHosted ← Box#109
Value
168
GuardShape ← NewArrayDynamicLength#133
Object
169
Elements ← GuardShape#168
Elements
170
ArrayLength ← Elements#169
I[0, 2147483647]: Int32
171
Goto → block 21
Block 21
172
DebugCheckSelfHosted ← Box#116
Value
173
AssertClass ← Lambda#164
174
Goto → block 22
Block 22
175
Goto → block 23
Block 23
176
Goto → block 24
Block 24
177
DebugCheckSelfHosted ← Box#124
Value
178
HasShape ← NewArrayDynamicLength#133
Bool
179
Test ← HasShape#178 → block 25, block 54
1
0
Block 25
180
NewArrayObject ← Constant#13
Object
181
Goto → block 26
Block 26
182
GuardShape ← NewArrayDynamicLength#133
Object
183
Constant 50
I[50, 50]: Double
184
GuardShape ← NewArrayObject#180
Object
185
Goto → block 27
Block 27 (loop header)
186
Phi ← Constant#15, Add#211
I[0 {}, 2147483647 {[loop] #170-1}]: Int32
187
Phi ← Constant#15, Phi#210
Int32
188
InterruptCheck
189
Compare ← Phi#186, ArrayLength#170 Lt
Bool
190
Test ← Compare#189 → block 28, block 35
1
0
Block 28
191
Elements ← GuardShape#182
Elements
192
InitializedLength ← Elements#191
I[0, 268435453]: Int32
193
BoundsCheck ← Phi#186, InitializedLength#192
I[0, 2147483646]: Int32
194
SpectreMaskIndex ← Phi#186, InitializedLength#192
I[0, 2147483646]: Int32
195
GuardElementNotHole ← Elements#191, SpectreMaskIndex#194
196
Goto → block 29
Block 29
197
GuardElementsArePacked ← Elements#191
198
LoadElement ← Elements#191, SpectreMaskIndex#194
Value
199
AssertClass ← Lambda#164
200
Goto → block 30
Block 30
201
Unbox LoadElement#198 to Double (fallible)
Double
202
Compare ← Unbox#201, Constant#183 Gt
Bool
203
Goto → block 31
Block 31
204
Test ← Compare#202 → block 33, block 32
1
0
Block 32 (split edge)
205
Goto → block 34
Block 33
206
Add ← Phi#187, Constant#20 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
207
Elements ← GuardShape#184
Elements
208
StoreElementHole ← GuardShape#184, Elements#207, Phi#187, LoadElement#198
209
Goto → block 34
Block 34 (backedge)
210
Phi ← Add#206, Phi#187
Int32
211
Add ← Phi#186, Constant#20 [int32]
I[1, 2147483647]: Int32
212
Goto → block 27
Block 35
213
Constant function complex4/< (-e:18) at 104289c63d98
Object
214
GuardShape ← NewArrayObject#180
Object
215
Constant function reduce (self-hosted:205) at 104289c479c0
Object
216
Lambda ← FunctionEnvironment#50, Constant#213
Object
217
Call ← Constant#215, NewArrayObject#180, Lambda#216, Constant#15
Value
218
Goto → block 36
Block 36
219
Constant shape at 104289c64fc0
Shape
220
NewPlainObject ← Constant#219
Object
221
GuardShape ← NewPlainObject#220
Object
222
PostWriteBarrier ← GuardShape#221, Call#66
223
StoreFixedSlot ← GuardShape#221, Call#66 (slot 0)
224
PostWriteBarrier ← GuardShape#221, BitOr#79
225
StoreFixedSlot ← GuardShape#221, BitOr#79 (slot 1)
226
PostWriteBarrier ← GuardShape#221, Call#81
227
StoreFixedSlot ← GuardShape#221, Call#81 (slot 2)
228
Goto → block 37
Block 37
229
Constant object 104289c3f078 (Call)
Object
230
Constant function complex5/< (-e:22) at 104289c63e08
Object
231
NewCallObject ← Constant#229
Object
232
Box ← FunctionEnvironment#51
Value
233
AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#232
234
Box ← Constant#48
Value
235
AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#234
236
StoreFixedSlot ← NewCallObject#231, FunctionEnvironment#51 (slot 0)
237
StoreFixedSlot ← NewCallObject#231, Constant#48 (slot 1)
238
PostWriteBarrier ← NewCallObject#231, NewPlainObject#220
239
StoreFixedSlot ← NewCallObject#231, NewPlainObject#220 (slot 2)
240
AssertClass ← NewPlainObject#220
241
ObjectKeys ← NewPlainObject#220
Object
242
GuardShape ← ObjectKeys#241
Object
243
Lambda ← NewCallObject#231, Constant#230
Object
244
Goto → block 38
Block 38
245
DebugCheckSelfHosted ← Box#107
Value
246
DebugCheckSelfHosted ← Box#109
Value
247
GuardShape ← ObjectKeys#241
Object
248
Elements ← GuardShape#247
Elements
249
ArrayLength ← Elements#248
I[0, 2147483647]: Int32
250
Goto → block 39
Block 39
251
DebugCheckSelfHosted ← Box#116
Value
252
AssertClass ← Lambda#243
253
Goto → block 40
Block 40
254
Goto → block 41
Block 41
255
Goto → block 42
Block 42
256
DebugCheckSelfHosted ← Box#124
Value
257
HasShape ← ObjectKeys#241
Bool
258
Test ← HasShape#257 → block 43, block 55
1
0
Block 43
259
DebugCheckSelfHosted ← Box#129
Value
260
Unbox DebugCheckSelfHosted#259 to Object (fallible)
Object
261
GuardSpecificFunction ← Unbox#260, Constant#128
Object
262
NewArrayDynamicLength ← ArrayLength#249
Object
263
Goto → block 44
Block 44
264
GuardShape ← ObjectKeys#241
Object
265
LoadFixedSlot ← NewCallObject#231 (slot 2)
Value
266
Unbox LoadFixedSlot#265 to Object (fallible)
Object
267
GuardShape ← NewArrayDynamicLength#262
Object
268
Goto → block 45
Block 45 (loop header)
269
Phi ← Constant#15, Add#288
I[0 {}, 2147483647 {[loop] #249-1}]: Int32
270
InterruptCheck
271
Compare ← Phi#269, ArrayLength#249 Lt
Bool
272
Test ← Compare#271 → block 46, block 51
1
0
Block 46
273
Elements ← GuardShape#264
Elements
274
InitializedLength ← Elements#273
I[0, 268435453]: Int32
275
BoundsCheck ← Phi#269, InitializedLength#274
I[0, 2147483646]: Int32
276
SpectreMaskIndex ← Phi#269, InitializedLength#274
I[0, 2147483646]: Int32
277
GuardElementNotHole ← Elements#273, SpectreMaskIndex#276
278
Goto → block 47
Block 47
279
GuardElementsArePacked ← Elements#273
280
LoadElement ← Elements#273, SpectreMaskIndex#276
Value
281
AssertClass ← Lambda#243
282
Goto → block 48
Block 48
283
MegamorphicLoadSlotByValue ← Unbox#266, LoadElement#280
Value
284
Goto → block 49
Block 49
285
Elements ← GuardShape#267
Elements
286
StoreElementHole ← GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283
287
Goto → block 50
Block 50 (backedge)
288
Add ← Phi#269, Constant#20 [int32]
I[1, 2147483647]: Int32
289
Goto → block 45
Block 51
290
Constant function complex5/< (-e:22) at 104289c63e40
Object
291
GuardShape ← NewArrayDynamicLength#262
Object
292
Lambda ← NewCallObject#231, Constant#290
Object
293
Call ← Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15
Value
294
Goto → block 52
Block 52 (backedge)
295
Add ← Phi#58, Constant#20 [int32]
I[1, 10]: Int32
296
Box ← BitOr#79
Value
297
Goto → block 1
Block 53
298
CallGetIntrinsicValue
Value
299
DebugCheckSelfHosted ← CallGetIntrinsicValue#298
Value
300
Bail
301
Unreachable
Block 54
302
CallGetIntrinsicValue
Value
303
DebugCheckSelfHosted ← CallGetIntrinsicValue#302
Value
304
Bail
305
Unreachable
Block 55
306
CallGetIntrinsicValue
Value
307
DebugCheckSelfHosted ← CallGetIntrinsicValue#306
Value
308
Bail
309
Unreachable
Block 56
310
Unbox Phi#53 to Double (fallible)
Double
311
Unbox Phi#54 to Double (fallible)
Double
312
Add ← Unbox#310, Unbox#311 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
313
Unbox Phi#55 to Double (fallible)
Double
314
Add ← Add#312, Unbox#313 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
315
Unbox Phi#56 to Double (fallible)
Double
316
Add ← Add#314, Unbox#315 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
317
Unbox Phi#57 to Double (fallible)
Double
318
Add ← Add#316, Unbox#317 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
319
Box ← Add#318
Value
320
Return ← Box#319
Block 0
0
Constant magic optimized-out
MagicOptimizedOut
1
Parameter THIS_SLOT
Value
2
Parameter 0
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Constant function complex1 (-e:2) at 104289c6c8c8
Object
8
Call ← Constant#7, Constant#3, Parameter#2
Value
9
Constant function complex2 (-e:7) at 104289c6c970
Object
10
Call ← Constant#9, Constant#3, Parameter#2
Value
11
Constant function complex3 (-e:11) at 104289c6c938
Object
12
Call ← Constant#11, Constant#3, Parameter#2, Call#8
Value
13
Constant shape at 104289c64f00
Shape
14
NewArrayObject ← Constant#13
Object
15
Constant 0x0
I[0, 0]: Int32
16
Elements ← NewArrayObject#14
Elements
17
PostWriteBarrier ← NewArrayObject#14, Call#8
18
StoreElement ← Elements#16, Constant#15, Call#8
19
SetInitializedLength ← Elements#16, Constant#15
20
Constant 0x1
I[1, 1]: Int32
21
Elements ← NewArrayObject#14
Elements
22
PostWriteBarrier ← NewArrayObject#14, Call#10
23
StoreElement ← Elements#21, Constant#20, Call#10
24
SetInitializedLength ← Elements#21, Constant#20
25
Constant 0x2
I[2, 2]: Int32
26
Elements ← NewArrayObject#14
Elements
27
PostWriteBarrier ← NewArrayObject#14, Call#12
28
StoreElement ← Elements#26, Constant#25, Call#12
29
SetInitializedLength ← Elements#26, Constant#25
30
Constant 0x3
I[3, 3]: Int32
31
Elements ← NewArrayObject#14
Elements
32
PostWriteBarrier ← NewArrayObject#14, Parameter#2
33
StoreElement ← Elements#31, Constant#30, Parameter#2
34
SetInitializedLength ← Elements#31, Constant#30
35
Constant function complex4 (-e:17) at 104289c6c890
Object
36
Call ← Constant#35, Constant#3, NewArrayObject#14
Value
37
Constant shape at 104289c64fa0
Shape
38
NewPlainObject ← Constant#37
Object
39
GuardShape ← NewPlainObject#38
Object
40
PostWriteBarrier ← GuardShape#39, Call#8
41
StoreFixedSlot ← GuardShape#39, Call#8 (slot 0)
42
PostWriteBarrier ← GuardShape#39, Call#10
43
StoreFixedSlot ← GuardShape#39, Call#10 (slot 1)
44
PostWriteBarrier ← GuardShape#39, Call#12
45
StoreFixedSlot ← GuardShape#39, Call#12 (slot 2)
46
PostWriteBarrier ← GuardShape#39, Call#36
47
StoreFixedSlot ← GuardShape#39, Call#36 (slot 3)
48
Constant function complex5 (-e:21) at 104289c6c900
Object
49
Call ← Constant#48, Constant#3, NewPlainObject#38
Value
50
FunctionEnvironment ← Constant#35
Object
51
FunctionEnvironment ← Constant#48
Object
52
Goto → block 1
Block 1 (loop header)
53
Phi ← Call#8, Call#66
Value
54
Phi ← Call#10, Box#296
Value
55
Phi ← Call#12, Call#81
Value
56
Phi ← Call#36, Call#217
Value
57
Phi ← Call#49, Call#293
Value
58
Phi ← Constant#15, Add#295
I[0 {}, 2147483647 {[loop] +9}]: Int32
59
InterruptCheck
60
Constant 0xa
I[10, 10]: Int32
61
Compare ← Phi#58, Constant#60 Lt
Bool
62
Test ← Compare#61 → block 2, block 56
1
0
Block 2
63
Unbox Phi#53 to Double (fallible)
Double
64
ToDouble ← Phi#58
I[0, 9]: Double
65
Add ← Unbox#63, ToDouble#64 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
66
Call ← Constant#7, Constant#3, Add#65
Value
67
Unbox Phi#54 to Int32 (fallible)
Int32
68
Add ← Unbox#67, Phi#58 [int32]
I[-2147483648, ?] (< pow(2, 32+1)): Int32
69
Goto → block 3
Block 3
70
Constant 0xff
I[255, 255]: Int32
71
Lsh ← Add#68, Constant#20
I[-2147483648, 2147483647]: Int32
72
Rsh ← Add#68, Constant#20
I[-1073741824, 1073741823]: Int32
73
BitAnd ← Add#68, Constant#70
I[0, 255]: Int32
74
Ursh ← Add#68, Constant#25
I[0, 1073741823]: Int32
75
Add ← BitAnd#73, Ursh#74 [int32]
I[0, 1073742078]: Int32
76
BitNot ← Add#68
I[-2147483648, 2147483647]: Int32
77
Sub ← Add#75, BitNot#76 [int32]
I[-2147483648, 2147483647]: Int32 (t)
78
BitXor ← Rsh#72, Sub#77
I[-2147483648, 2147483647]: Int32
79
BitOr ← Lsh#71, BitXor#78
I[-2147483648, 2147483647]: Int32
80
Goto → block 4
Block 4
81
Call ← Constant#11, Constant#3, Phi#55, Call#66
Value
82
NewArrayObject ← Constant#13
Object
83
Elements ← NewArrayObject#82
Elements
84
PostWriteBarrier ← NewArrayObject#82, Call#66
85
StoreElement ← Elements#83, Constant#15, Call#66
86
SetInitializedLength ← Elements#83, Constant#15
87
Elements ← NewArrayObject#82
Elements
88
PostWriteBarrier ← NewArrayObject#82, BitOr#79
89
StoreElement ← Elements#87, Constant#20, BitOr#79
90
SetInitializedLength ← Elements#87, Constant#20
91
Elements ← NewArrayObject#82
Elements
92
PostWriteBarrier ← NewArrayObject#82, Call#81
93
StoreElement ← Elements#91, Constant#25, Call#81
94
SetInitializedLength ← Elements#91, Constant#25
95
Elements ← NewArrayObject#82
Elements
96
PostWriteBarrier ← NewArrayObject#82, Phi#58
97
StoreElement ← Elements#95, Constant#30, Phi#58
98
SetInitializedLength ← Elements#95, Constant#30
99
Goto → block 5
Block 5
100
Constant function complex4/< (-e:18) at 104289c63d28
Object
101
GuardShape ← NewArrayObject#82
Object
102
Constant function map (self-hosted:163) at 104289c47920
Object
103
Lambda ← FunctionEnvironment#50, Constant#100
Object
104
Goto → block 6
Block 6
105
Constant function ToObject at 104289c6c740
Object
106
Constant function ToLength at 104289c6c778
Object
107
Box ← Constant#105
Value
108
DebugCheckSelfHosted ← Box#107
Value
109
Box ← Constant#106
Value
110
DebugCheckSelfHosted ← Box#109
Value
111
GuardShape ← NewArrayObject#82
Object
112
Elements ← GuardShape#111
Elements
113
ArrayLength ← Elements#112
I[0, 2147483647]: Int32
114
Goto → block 7
Block 7
115
Constant function IsCallable at 104289c6c7b0
Object
116
Box ← Constant#115
Value
117
DebugCheckSelfHosted ← Box#116
Value
118
AssertClass ← Lambda#103
119
Goto → block 8
Block 8
120
Goto → block 9
Block 9
121
Box ← Constant#3
Value
122
Goto → block 10
Block 10
123
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
124
Box ← Constant#123
Value
125
DebugCheckSelfHosted ← Box#124
Value
126
HasShape ← NewArrayObject#82
Bool
127
Test ← HasShape#126 → block 11, block 53
1
0
Block 11
128
Constant function std_Array at 104289c6c820
Object
129
Box ← Constant#128
Value
130
DebugCheckSelfHosted ← Box#129
Value
131
Unbox DebugCheckSelfHosted#130 to Object (fallible)
Object
132
GuardSpecificFunction ← Unbox#131, Constant#128
Object
133
NewArrayDynamicLength ← ArrayLength#113
Object
134
Goto → block 12
Block 12
135
GuardShape ← NewArrayObject#82
Object
136
Constant 2
I[2, 2]: Double
137
GuardShape ← NewArrayDynamicLength#133
Object
138
Goto → block 13
Block 13 (loop header)
139
Phi ← Constant#15, Add#159
I[0 {}, 2147483647 {[loop] #113-1}]: Int32
140
InterruptCheck
141
Compare ← Phi#139, ArrayLength#113 Lt
Bool
142
Test ← Compare#141 → block 14, block 19
1
0
Block 14
143
Elements ← GuardShape#135
Elements
144
InitializedLength ← Elements#143
I[0, 268435453]: Int32
145
BoundsCheck ← Phi#139, InitializedLength#144
I[0, 2147483646]: Int32
146
SpectreMaskIndex ← Phi#139, InitializedLength#144
I[0, 2147483646]: Int32
147
GuardElementNotHole ← Elements#143, SpectreMaskIndex#146
148
Goto → block 15
Block 15
149
GuardElementsArePacked ← Elements#143
150
LoadElement ← Elements#143, SpectreMaskIndex#146
Value
151
AssertClass ← Lambda#103
152
Goto → block 16
Block 16
153
Unbox LoadElement#150 to Double (fallible)
Double
154
Mul ← Unbox#153, Constant#136 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
155
Goto → block 17
Block 17
156
Elements ← GuardShape#137
Elements
157
StoreElementHole ← GuardShape#137, Elements#156, Phi#139, Mul#154
158
Goto → block 18
Block 18 (backedge)
159
Add ← Phi#139, Constant#20 [int32]
I[1, 2147483647]: Int32
160
Goto → block 13
Block 19
161
Constant function complex4/< (-e:18) at 104289c63d60
Object
162
GuardShape ← NewArrayDynamicLength#133
Object
163
Constant function filter (self-hosted:183) at 104289c47970
Object
164
Lambda ← FunctionEnvironment#50, Constant#161
Object
165
Goto → block 20
Block 20
166
DebugCheckSelfHosted ← Box#107
Value
167
DebugCheckSelfHosted ← Box#109
Value
168
GuardShape ← NewArrayDynamicLength#133
Object
169
Elements ← GuardShape#168
Elements
170
ArrayLength ← Elements#169
I[0, 2147483647]: Int32
171
Goto → block 21
Block 21
172
DebugCheckSelfHosted ← Box#116
Value
173
AssertClass ← Lambda#164
174
Goto → block 22
Block 22
175
Goto → block 23
Block 23
176
Goto → block 24
Block 24
177
DebugCheckSelfHosted ← Box#124
Value
178
HasShape ← NewArrayDynamicLength#133
Bool
179
Test ← HasShape#178 → block 25, block 54
1
0
Block 25
180
NewArrayObject ← Constant#13
Object
181
Goto → block 26
Block 26
182
GuardShape ← NewArrayDynamicLength#133
Object
183
Constant 50
I[50, 50]: Double
184
GuardShape ← NewArrayObject#180
Object
185
Goto → block 27
Block 27 (loop header)
186
Phi ← Constant#15, Add#211
I[0 {}, 2147483647 {[loop] #170-1}]: Int32
187
Phi ← Constant#15, Phi#210
Int32
188
InterruptCheck
189
Compare ← Phi#186, ArrayLength#170 Lt
Bool
190
Test ← Compare#189 → block 28, block 35
1
0
Block 28
191
Elements ← GuardShape#182
Elements
192
InitializedLength ← Elements#191
I[0, 268435453]: Int32
193
BoundsCheck ← Phi#186, InitializedLength#192
I[0, 2147483646]: Int32
194
SpectreMaskIndex ← Phi#186, InitializedLength#192
I[0, 2147483646]: Int32
195
GuardElementNotHole ← Elements#191, SpectreMaskIndex#194
196
Goto → block 29
Block 29
197
GuardElementsArePacked ← Elements#191
198
LoadElement ← Elements#191, SpectreMaskIndex#194
Value
199
AssertClass ← Lambda#164
200
Goto → block 30
Block 30
201
Unbox LoadElement#198 to Double (fallible)
Double
202
Compare ← Unbox#201, Constant#183 Gt
Bool
203
Goto → block 31
Block 31
204
Test ← Compare#202 → block 33, block 32
1
0
Block 32 (split edge)
205
Goto → block 34
Block 33
206
Add ← Phi#187, Constant#20 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
207
Elements ← GuardShape#184
Elements
208
StoreElementHole ← GuardShape#184, Elements#207, Phi#187, LoadElement#198
209
Goto → block 34
Block 34 (backedge)
210
Phi ← Add#206, Phi#187
Int32
211
Add ← Phi#186, Constant#20 [int32]
I[1, 2147483647]: Int32
212
Goto → block 27
Block 35
213
Constant function complex4/< (-e:18) at 104289c63d98
Object
214
GuardShape ← NewArrayObject#180
Object
215
Constant function reduce (self-hosted:205) at 104289c479c0
Object
216
Lambda ← FunctionEnvironment#50, Constant#213
Object
217
Call ← Constant#215, NewArrayObject#180, Lambda#216, Constant#15
Value
218
Goto → block 36
Block 36
219
Constant shape at 104289c64fc0
Shape
220
NewPlainObject ← Constant#219
Object
221
GuardShape ← NewPlainObject#220
Object
222
PostWriteBarrier ← GuardShape#221, Call#66
223
StoreFixedSlot ← GuardShape#221, Call#66 (slot 0)
224
PostWriteBarrier ← GuardShape#221, BitOr#79
225
StoreFixedSlot ← GuardShape#221, BitOr#79 (slot 1)
226
PostWriteBarrier ← GuardShape#221, Call#81
227
StoreFixedSlot ← GuardShape#221, Call#81 (slot 2)
228
Goto → block 37
Block 37
229
Constant object 104289c3f078 (Call)
Object
230
Constant function complex5/< (-e:22) at 104289c63e08
Object
231
NewCallObject ← Constant#229
Object
232
Box ← FunctionEnvironment#51
Value
233
AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#232
234
Box ← Constant#48
Value
235
AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#234
236
StoreFixedSlot ← NewCallObject#231, FunctionEnvironment#51 (slot 0)
237
StoreFixedSlot ← NewCallObject#231, Constant#48 (slot 1)
848
Box ← NewPlainObject#220
Value
849
AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#848
239
StoreFixedSlot ← NewCallObject#231, NewPlainObject#220 (slot 2)
240
AssertClass ← NewPlainObject#220
241
ObjectKeys ← NewPlainObject#220
Object
242
GuardShape ← ObjectKeys#241
Object
243
Lambda ← NewCallObject#231, Constant#230
Object
244
Goto → block 38
Block 38
245
DebugCheckSelfHosted ← Box#107
Value
246
DebugCheckSelfHosted ← Box#109
Value
247
GuardShape ← ObjectKeys#241
Object
248
Elements ← GuardShape#247
Elements
249
ArrayLength ← Elements#248
I[0, 2147483647]: Int32
250
Goto → block 39
Block 39
251
DebugCheckSelfHosted ← Box#116
Value
252
AssertClass ← Lambda#243
253
Goto → block 40
Block 40
254
Goto → block 41
Block 41
255
Goto → block 42
Block 42
256
DebugCheckSelfHosted ← Box#124
Value
257
HasShape ← ObjectKeys#241
Bool
258
Test ← HasShape#257 → block 43, block 55
1
0
Block 43
259
DebugCheckSelfHosted ← Box#129
Value
260
Unbox DebugCheckSelfHosted#259 to Object (fallible)
Object
261
GuardSpecificFunction ← Unbox#260, Constant#128
Object
262
NewArrayDynamicLength ← ArrayLength#249
Object
263
Goto → block 44
Block 44
264
GuardShape ← ObjectKeys#241
Object
265
LoadFixedSlot ← NewCallObject#231 (slot 2)
Value
266
Unbox LoadFixedSlot#265 to Object (fallible)
Object
267
GuardShape ← NewArrayDynamicLength#262
Object
268
Goto → block 45
Block 45 (loop header)
269
Phi ← Constant#15, Add#288
I[0 {}, 2147483647 {[loop] #249-1}]: Int32
270
InterruptCheck
271
Compare ← Phi#269, ArrayLength#249 Lt
Bool
272
Test ← Compare#271 → block 46, block 51
1
0
Block 46
273
Elements ← GuardShape#264
Elements
274
InitializedLength ← Elements#273
I[0, 268435453]: Int32
275
BoundsCheck ← Phi#269, InitializedLength#274
I[0, 2147483646]: Int32
276
SpectreMaskIndex ← Phi#269, InitializedLength#274
I[0, 2147483646]: Int32
277
GuardElementNotHole ← Elements#273, SpectreMaskIndex#276
278
Goto → block 47
Block 47
279
GuardElementsArePacked ← Elements#273
280
LoadElement ← Elements#273, SpectreMaskIndex#276
Value
281
AssertClass ← Lambda#243
282
Goto → block 48
Block 48
283
MegamorphicLoadSlotByValue ← Unbox#266, LoadElement#280
Value
284
Goto → block 49
Block 49
285
Elements ← GuardShape#267
Elements
286
StoreElementHole ← GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283
287
Goto → block 50
Block 50 (backedge)
288
Add ← Phi#269, Constant#20 [int32]
I[1, 2147483647]: Int32
289
Goto → block 45
Block 51
290
Constant function complex5/< (-e:22) at 104289c63e40
Object
291
GuardShape ← NewArrayDynamicLength#262
Object
292
Lambda ← NewCallObject#231, Constant#290
Object
293
Call ← Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15
Value
294
Goto → block 52
Block 52 (backedge)
295
Add ← Phi#58, Constant#20 [int32]
I[1, 10]: Int32
296
Box ← BitOr#79
Value
297
Goto → block 1
Block 53
298
CallGetIntrinsicValue
Value
299
DebugCheckSelfHosted ← CallGetIntrinsicValue#298
Value
300
Bail
301
Unreachable
Block 54
302
CallGetIntrinsicValue
Value
303
DebugCheckSelfHosted ← CallGetIntrinsicValue#302
Value
304
Bail
305
Unreachable
Block 55
306
CallGetIntrinsicValue
Value
307
DebugCheckSelfHosted ← CallGetIntrinsicValue#306
Value
308
Bail
309
Unreachable
Block 56
310
Unbox Phi#53 to Double (fallible)
Double
311
Unbox Phi#54 to Double (fallible)
Double
312
Add ← Unbox#310, Unbox#311 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
313
Unbox Phi#55 to Double (fallible)
Double
314
Add ← Add#312, Unbox#313 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
315
Unbox Phi#56 to Double (fallible)
Double
316
Add ← Add#314, Unbox#315 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
317
Unbox Phi#57 to Double (fallible)
Double
318
Add ← Add#316, Unbox#317 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
319
Box ← Add#318
Value
320
Return ← Box#319
Block 0
0
Constant magic optimized-out
MagicOptimizedOut
1
Parameter THIS_SLOT
Value
2
Parameter 0
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Constant function complex1 (-e:2) at 104289c6c8c8
Object
8
Call ← Constant#7, Constant#3, Parameter#2
Value
9
Constant function complex2 (-e:7) at 104289c6c970
Object
10
Call ← Constant#9, Constant#3, Parameter#2
Value
11
Constant function complex3 (-e:11) at 104289c6c938
Object
12
Call ← Constant#11, Constant#3, Parameter#2, Call#8
Value
13
Constant shape at 104289c64f00
Shape
14
NewArrayObject ← Constant#13
Object
15
Constant 0x0
I[0, 0]: Int32
16
Elements ← NewArrayObject#14
Elements
17
PostWriteBarrier ← NewArrayObject#14, Call#8
18
StoreElement ← Elements#16, Constant#15, Call#8
19
SetInitializedLength ← Elements#16, Constant#15
20
Constant 0x1
I[1, 1]: Int32
21
Elements ← NewArrayObject#14
Elements
22
PostWriteBarrier ← NewArrayObject#14, Call#10
23
StoreElement ← Elements#21, Constant#20, Call#10
24
SetInitializedLength ← Elements#21, Constant#20
25
Constant 0x2
I[2, 2]: Int32
26
Elements ← NewArrayObject#14
Elements
27
PostWriteBarrier ← NewArrayObject#14, Call#12
28
StoreElement ← Elements#26, Constant#25, Call#12
29
SetInitializedLength ← Elements#26, Constant#25
30
Constant 0x3
I[3, 3]: Int32
31
Elements ← NewArrayObject#14
Elements
32
PostWriteBarrier ← NewArrayObject#14, Parameter#2
33
StoreElement ← Elements#31, Constant#30, Parameter#2
34
SetInitializedLength ← Elements#31, Constant#30
35
Constant function complex4 (-e:17) at 104289c6c890
Object
36
Call ← Constant#35, Constant#3, NewArrayObject#14
Value
37
Constant shape at 104289c64fa0
Shape
38
NewPlainObject ← Constant#37
Object
39
GuardShape ← NewPlainObject#38
Object
40
PostWriteBarrier ← GuardShape#39, Call#8
41
StoreFixedSlot ← GuardShape#39, Call#8 (slot 0)
42
PostWriteBarrier ← GuardShape#39, Call#10
43
StoreFixedSlot ← GuardShape#39, Call#10 (slot 1)
44
PostWriteBarrier ← GuardShape#39, Call#12
45
StoreFixedSlot ← GuardShape#39, Call#12 (slot 2)
46
PostWriteBarrier ← GuardShape#39, Call#36
47
StoreFixedSlot ← GuardShape#39, Call#36 (slot 3)
48
Constant function complex5 (-e:21) at 104289c6c900
Object
49
Call ← Constant#48, Constant#3, NewPlainObject#38
Value
50
FunctionEnvironment ← Constant#35
Object
51
FunctionEnvironment ← Constant#48
Object
52
Goto → block 1
Block 1 (loop header)
53
Phi ← Call#8, Call#66
Value
54
Phi ← Call#10, Box#296
Value
55
Phi ← Call#12, Call#81
Value
56
Phi ← Call#36, Call#217
Value
57
Phi ← Call#49, Call#293
Value
58
Phi ← Constant#15, Add#295
I[0 {}, 2147483647 {[loop] +9}]: Int32
59
InterruptCheck
60
Constant 0xa
I[10, 10]: Int32
61
Compare ← Phi#58, Constant#60 Lt
Bool
62
Test ← Compare#61 → block 2, block 56
1
0
Block 2
63
Unbox Phi#53 to Double (fallible)
Double
64
ToDouble ← Phi#58
I[0, 9]: Double
65
Add ← Unbox#63, ToDouble#64 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
66
Call ← Constant#7, Constant#3, Add#65
Value
67
Unbox Phi#54 to Int32 (fallible)
Int32
68
Add ← Unbox#67, Phi#58 [int32]
I[-2147483648, ?] (< pow(2, 32+1)): Int32
69
Goto → block 3
Block 3
70
Constant 0xff
I[255, 255]: Int32
71
Lsh ← Add#68, Constant#20
I[-2147483648, 2147483647]: Int32
72
Rsh ← Add#68, Constant#20
I[-1073741824, 1073741823]: Int32
73
BitAnd ← Add#68, Constant#70
I[0, 255]: Int32
74
Ursh ← Add#68, Constant#25
I[0, 1073741823]: Int32
75
Add ← BitAnd#73, Ursh#74 [int32]
I[0, 1073742078]: Int32
76
BitNot ← Add#68
I[-2147483648, 2147483647]: Int32
77
Sub ← Add#75, BitNot#76 [int32]
I[-2147483648, 2147483647]: Int32 (t)
78
BitXor ← Rsh#72, Sub#77
I[-2147483648, 2147483647]: Int32
79
BitOr ← Lsh#71, BitXor#78
I[-2147483648, 2147483647]: Int32
80
Goto → block 4
Block 4
81
Call ← Constant#11, Constant#3, Phi#55, Call#66
Value
82
NewArrayObject ← Constant#13
Object
83
Elements ← NewArrayObject#82
Elements
84
PostWriteBarrier ← NewArrayObject#82, Call#66
85
StoreElement ← Elements#83, Constant#15, Call#66
86
SetInitializedLength ← Elements#83, Constant#15
87
Elements ← NewArrayObject#82
Elements
88
PostWriteBarrier ← NewArrayObject#82, BitOr#79
89
StoreElement ← Elements#87, Constant#20, BitOr#79
90
SetInitializedLength ← Elements#87, Constant#20
91
Elements ← NewArrayObject#82
Elements
92
PostWriteBarrier ← NewArrayObject#82, Call#81
93
StoreElement ← Elements#91, Constant#25, Call#81
94
SetInitializedLength ← Elements#91, Constant#25
95
Elements ← NewArrayObject#82
Elements
96
PostWriteBarrier ← NewArrayObject#82, Phi#58
97
StoreElement ← Elements#95, Constant#30, Phi#58
98
SetInitializedLength ← Elements#95, Constant#30
99
Goto → block 5
Block 5
100
Constant function complex4/< (-e:18) at 104289c63d28
Object
101
GuardShape ← NewArrayObject#82
Object
102
Constant function map (self-hosted:163) at 104289c47920
Object
103
Lambda ← FunctionEnvironment#50, Constant#100
Object
104
Goto → block 6
Block 6
105
Constant function ToObject at 104289c6c740
Object
106
Constant function ToLength at 104289c6c778
Object
107
Box ← Constant#105
Value
108
DebugCheckSelfHosted ← Box#107
Value
109
Box ← Constant#106
Value
110
DebugCheckSelfHosted ← Box#109
Value
111
GuardShape ← NewArrayObject#82
Object
112
Elements ← GuardShape#111
Elements
113
ArrayLength ← Elements#112
I[0, 2147483647]: Int32
114
Goto → block 7
Block 7
115
Constant function IsCallable at 104289c6c7b0
Object
116
Box ← Constant#115
Value
117
DebugCheckSelfHosted ← Box#116
Value
118
AssertClass ← Lambda#103
119
Goto → block 8
Block 8
120
Goto → block 9
Block 9
121
Box ← Constant#3
Value
122
Goto → block 10
Block 10
123
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
124
Box ← Constant#123
Value
125
DebugCheckSelfHosted ← Box#124
Value
126
HasShape ← NewArrayObject#82
Bool
127
Test ← HasShape#126 → block 11, block 53
1
0
Block 11
128
Constant function std_Array at 104289c6c820
Object
129
Box ← Constant#128
Value
130
DebugCheckSelfHosted ← Box#129
Value
131
Unbox DebugCheckSelfHosted#130 to Object (fallible)
Object
132
GuardSpecificFunction ← Unbox#131, Constant#128
Object
133
NewArrayDynamicLength ← ArrayLength#113
Object
134
Goto → block 12
Block 12
135
GuardShape ← NewArrayObject#82
Object
136
Constant 2
I[2, 2]: Double
137
GuardShape ← NewArrayDynamicLength#133
Object
138
Goto → block 13
Block 13 (loop header)
139
Phi ← Constant#15, Add#159
I[0 {}, 2147483647 {[loop] #113-1}]: Int32
140
InterruptCheck
141
Compare ← Phi#139, ArrayLength#113 Lt
Bool
142
Test ← Compare#141 → block 14, block 19
1
0
Block 14
143
Elements ← GuardShape#135
Elements
144
InitializedLength ← Elements#143
I[0, 268435453]: Int32
145
BoundsCheck ← Phi#139, InitializedLength#144
I[0, 2147483646]: Int32
146
SpectreMaskIndex ← Phi#139, InitializedLength#144
I[0, 2147483646]: Int32
147
GuardElementNotHole ← Elements#143, SpectreMaskIndex#146
148
Goto → block 15
Block 15
149
GuardElementsArePacked ← Elements#143
150
LoadElement ← Elements#143, SpectreMaskIndex#146
Value
151
AssertClass ← Lambda#103
152
Goto → block 16
Block 16
153
Unbox LoadElement#150 to Double (fallible)
Double
154
Mul ← Unbox#153, Constant#136 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
155
Goto → block 17
Block 17
156
Elements ← GuardShape#137
Elements
157
StoreElementHole ← GuardShape#137, Elements#156, Phi#139, Mul#154
158
Goto → block 18
Block 18 (backedge)
159
Add ← Phi#139, Constant#20 [int32]
I[1, 2147483647]: Int32
160
Goto → block 13
Block 19
161
Constant function complex4/< (-e:18) at 104289c63d60
Object
162
GuardShape ← NewArrayDynamicLength#133
Object
163
Constant function filter (self-hosted:183) at 104289c47970
Object
164
Lambda ← FunctionEnvironment#50, Constant#161
Object
165
Goto → block 20
Block 20
166
DebugCheckSelfHosted ← Box#107
Value
167
DebugCheckSelfHosted ← Box#109
Value
168
GuardShape ← NewArrayDynamicLength#133
Object
169
Elements ← GuardShape#168
Elements
170
ArrayLength ← Elements#169
I[0, 2147483647]: Int32
171
Goto → block 21
Block 21
172
DebugCheckSelfHosted ← Box#116
Value
173
AssertClass ← Lambda#164
174
Goto → block 22
Block 22
175
Goto → block 23
Block 23
176
Goto → block 24
Block 24
177
DebugCheckSelfHosted ← Box#124
Value
178
HasShape ← NewArrayDynamicLength#133
Bool
179
Test ← HasShape#178 → block 25, block 54
1
0
Block 25
180
NewArrayObject ← Constant#13
Object
181
Goto → block 26
Block 26
182
GuardShape ← NewArrayDynamicLength#133
Object
183
Constant 50
I[50, 50]: Double
184
GuardShape ← NewArrayObject#180
Object
185
Goto → block 27
Block 27 (loop header)
186
Phi ← Constant#15, Add#211
I[0 {}, 2147483647 {[loop] #170-1}]: Int32
187
Phi ← Constant#15, Phi#210
Int32
188
InterruptCheck
189
Compare ← Phi#186, ArrayLength#170 Lt
Bool
190
Test ← Compare#189 → block 28, block 35
1
0
Block 28
191
Elements ← GuardShape#182
Elements
192
InitializedLength ← Elements#191
I[0, 268435453]: Int32
193
BoundsCheck ← Phi#186, InitializedLength#192
I[0, 2147483646]: Int32
194
SpectreMaskIndex ← Phi#186, InitializedLength#192
I[0, 2147483646]: Int32
195
GuardElementNotHole ← Elements#191, SpectreMaskIndex#194
196
Goto → block 29
Block 29
197
GuardElementsArePacked ← Elements#191
198
LoadElement ← Elements#191, SpectreMaskIndex#194
Value
199
AssertClass ← Lambda#164
200
Goto → block 30
Block 30
201
Unbox LoadElement#198 to Double (fallible)
Double
202
Compare ← Unbox#201, Constant#183 Gt
Bool
203
Goto → block 31
Block 31
204
Test ← Compare#202 → block 33, block 32
1
0
Block 32 (split edge)
205
Goto → block 34
Block 33
206
Add ← Phi#187, Constant#20 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
207
Elements ← GuardShape#184
Elements
208
StoreElementHole ← GuardShape#184, Elements#207, Phi#187, LoadElement#198
209
Goto → block 34
Block 34 (backedge)
210
Phi ← Add#206, Phi#187
Int32
211
Add ← Phi#186, Constant#20 [int32]
I[1, 2147483647]: Int32
212
Goto → block 27
Block 35
213
Constant function complex4/< (-e:18) at 104289c63d98
Object
214
GuardShape ← NewArrayObject#180
Object
215
Constant function reduce (self-hosted:205) at 104289c479c0
Object
216
Lambda ← FunctionEnvironment#50, Constant#213
Object
217
Call ← Constant#215, NewArrayObject#180, Lambda#216, Constant#15
Value
218
Goto → block 36
Block 36
219
Constant shape at 104289c64fc0
Shape
220
NewPlainObject ← Constant#219
Object
221
GuardShape ← NewPlainObject#220
Object
222
PostWriteBarrier ← GuardShape#221, Call#66
223
StoreFixedSlot ← GuardShape#221, Call#66 (slot 0)
224
PostWriteBarrier ← GuardShape#221, BitOr#79
225
StoreFixedSlot ← GuardShape#221, BitOr#79 (slot 1)
226
PostWriteBarrier ← GuardShape#221, Call#81
227
StoreFixedSlot ← GuardShape#221, Call#81 (slot 2)
228
Goto → block 37
Block 37
229
Constant object 104289c3f078 (Call)
Object
230
Constant function complex5/< (-e:22) at 104289c63e08
Object
231
NewCallObject ← Constant#229
Object
232
Box ← FunctionEnvironment#51
Value
233
AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#232
234
Box ← Constant#48
Value
235
AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#234
236
StoreFixedSlot ← NewCallObject#231, FunctionEnvironment#51 (slot 0)
237
StoreFixedSlot ← NewCallObject#231, Constant#48 (slot 1)
848
Box ← NewPlainObject#220
Value
849
AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#848
239
StoreFixedSlot ← NewCallObject#231, NewPlainObject#220 (slot 2)
240
AssertClass ← NewPlainObject#220
241
ObjectKeys ← NewPlainObject#220
Object
242
GuardShape ← ObjectKeys#241
Object
243
Lambda ← NewCallObject#231, Constant#230
Object
244
Goto → block 38
Block 38
245
DebugCheckSelfHosted ← Box#107
Value
246
DebugCheckSelfHosted ← Box#109
Value
247
GuardShape ← ObjectKeys#241
Object
248
Elements ← GuardShape#247
Elements
249
ArrayLength ← Elements#248
I[0, 2147483647]: Int32
250
Goto → block 39
Block 39
251
DebugCheckSelfHosted ← Box#116
Value
252
AssertClass ← Lambda#243
253
Goto → block 40
Block 40
254
Goto → block 41
Block 41
255
Goto → block 42
Block 42
256
DebugCheckSelfHosted ← Box#124
Value
257
HasShape ← ObjectKeys#241
Bool
258
Test ← HasShape#257 → block 43, block 55
1
0
Block 43
259
DebugCheckSelfHosted ← Box#129
Value
260
Unbox DebugCheckSelfHosted#259 to Object (fallible)
Object
261
GuardSpecificFunction ← Unbox#260, Constant#128
Object
262
NewArrayDynamicLength ← ArrayLength#249
Object
263
Goto → block 44
Block 44
264
GuardShape ← ObjectKeys#241
Object
850
LoadFixedSlotAndUnbox ← NewCallObject#231 (slot 2)
Object
267
GuardShape ← NewArrayDynamicLength#262
Object
268
Goto → block 45
Block 45 (loop header)
269
Phi ← Constant#15, Add#288
I[0 {}, 2147483647 {[loop] #249-1}]: Int32
270
InterruptCheck
271
Compare ← Phi#269, ArrayLength#249 Lt
Bool
272
Test ← Compare#271 → block 46, block 51
1
0
Block 46
273
Elements ← GuardShape#264
Elements
274
InitializedLength ← Elements#273
I[0, 268435453]: Int32
275
BoundsCheck ← Phi#269, InitializedLength#274
I[0, 2147483646]: Int32
276
SpectreMaskIndex ← Phi#269, InitializedLength#274
I[0, 2147483646]: Int32
277
GuardElementNotHole ← Elements#273, SpectreMaskIndex#276
278
Goto → block 47
Block 47
279
GuardElementsArePacked ← Elements#273
280
LoadElement ← Elements#273, SpectreMaskIndex#276
Value
281
AssertClass ← Lambda#243
282
Goto → block 48
Block 48
283
MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#850, LoadElement#280
Value
284
Goto → block 49
Block 49
285
Elements ← GuardShape#267
Elements
286
StoreElementHole ← GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283
287
Goto → block 50
Block 50 (backedge)
288
Add ← Phi#269, Constant#20 [int32]
I[1, 2147483647]: Int32
289
Goto → block 45
Block 51
290
Constant function complex5/< (-e:22) at 104289c63e40
Object
291
GuardShape ← NewArrayDynamicLength#262
Object
292
Lambda ← NewCallObject#231, Constant#290
Object
293
Call ← Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15
Value
294
Goto → block 52
Block 52 (backedge)
295
Add ← Phi#58, Constant#20 [int32]
I[1, 10]: Int32
296
Box ← BitOr#79
Value
297
Goto → block 1
Block 53
298
CallGetIntrinsicValue
Value
299
DebugCheckSelfHosted ← CallGetIntrinsicValue#298
Value
300
Bail
301
Unreachable
Block 54
302
CallGetIntrinsicValue
Value
303
DebugCheckSelfHosted ← CallGetIntrinsicValue#302
Value
304
Bail
305
Unreachable
Block 55
306
CallGetIntrinsicValue
Value
307
DebugCheckSelfHosted ← CallGetIntrinsicValue#306
Value
308
Bail
309
Unreachable
Block 56
310
Unbox Phi#53 to Double (fallible)
Double
311
Unbox Phi#54 to Double (fallible)
Double
312
Add ← Unbox#310, Unbox#311 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
313
Unbox Phi#55 to Double (fallible)
Double
314
Add ← Add#312, Unbox#313 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
315
Unbox Phi#56 to Double (fallible)
Double
316
Add ← Add#314, Unbox#315 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
317
Unbox Phi#57 to Double (fallible)
Double
318
Add ← Add#316, Unbox#317 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
319
Box ← Add#318
Value
320
Return ← Box#319
Block 0
0
Constant magic optimized-out
MagicOptimizedOut
1
Parameter THIS_SLOT
Value
2
Parameter 0
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Constant function complex1 (-e:2) at 104289c6c8c8
Object
8
Call ← Constant#7, Constant#3, Parameter#2
Value
9
Constant function complex2 (-e:7) at 104289c6c970
Object
10
Call ← Constant#9, Constant#3, Parameter#2
Value
11
Constant function complex3 (-e:11) at 104289c6c938
Object
12
Call ← Constant#11, Constant#3, Parameter#2, Call#8
Value
13
Constant shape at 104289c64f00
Shape
14
NewArrayObject ← Constant#13
Object
15
Constant 0x0
I[0, 0]: Int32
16
Elements ← NewArrayObject#14
Elements
17
PostWriteBarrier ← NewArrayObject#14, Call#8
18
StoreElement ← Elements#16, Constant#15, Call#8
852
KeepAliveObject ← NewArrayObject#14
19
SetInitializedLength ← Elements#16, Constant#15
851
KeepAliveObject ← NewArrayObject#14
20
Constant 0x1
I[1, 1]: Int32
21
Elements ← NewArrayObject#14
Elements
22
PostWriteBarrier ← NewArrayObject#14, Call#10
23
StoreElement ← Elements#21, Constant#20, Call#10
854
KeepAliveObject ← NewArrayObject#14
24
SetInitializedLength ← Elements#21, Constant#20
853
KeepAliveObject ← NewArrayObject#14
25
Constant 0x2
I[2, 2]: Int32
26
Elements ← NewArrayObject#14
Elements
27
PostWriteBarrier ← NewArrayObject#14, Call#12
28
StoreElement ← Elements#26, Constant#25, Call#12
856
KeepAliveObject ← NewArrayObject#14
29
SetInitializedLength ← Elements#26, Constant#25
855
KeepAliveObject ← NewArrayObject#14
30
Constant 0x3
I[3, 3]: Int32
31
Elements ← NewArrayObject#14
Elements
32
PostWriteBarrier ← NewArrayObject#14, Parameter#2
33
StoreElement ← Elements#31, Constant#30, Parameter#2
858
KeepAliveObject ← NewArrayObject#14
34
SetInitializedLength ← Elements#31, Constant#30
857
KeepAliveObject ← NewArrayObject#14
35
Constant function complex4 (-e:17) at 104289c6c890
Object
36
Call ← Constant#35, Constant#3, NewArrayObject#14
Value
37
Constant shape at 104289c64fa0
Shape
38
NewPlainObject ← Constant#37
Object
39
GuardShape ← NewPlainObject#38
Object
40
PostWriteBarrier ← GuardShape#39, Call#8
41
StoreFixedSlot ← GuardShape#39, Call#8 (slot 0)
42
PostWriteBarrier ← GuardShape#39, Call#10
43
StoreFixedSlot ← GuardShape#39, Call#10 (slot 1)
44
PostWriteBarrier ← GuardShape#39, Call#12
45
StoreFixedSlot ← GuardShape#39, Call#12 (slot 2)
46
PostWriteBarrier ← GuardShape#39, Call#36
47
StoreFixedSlot ← GuardShape#39, Call#36 (slot 3)
48
Constant function complex5 (-e:21) at 104289c6c900
Object
49
Call ← Constant#48, Constant#3, NewPlainObject#38
Value
50
FunctionEnvironment ← Constant#35
Object
51
FunctionEnvironment ← Constant#48
Object
52
Goto → block 1
Block 1 (loop header)
53
Phi ← Call#8, Call#66
Value
54
Phi ← Call#10, Box#296
Value
55
Phi ← Call#12, Call#81
Value
56
Phi ← Call#36, Call#217
Value
57
Phi ← Call#49, Call#293
Value
58
Phi ← Constant#15, Add#295
I[0 {}, 2147483647 {[loop] +9}]: Int32
59
InterruptCheck
60
Constant 0xa
I[10, 10]: Int32
61
Compare ← Phi#58, Constant#60 Lt
Bool
62
Test ← Compare#61 → block 2, block 56
1
0
Block 2
63
Unbox Phi#53 to Double (fallible)
Double
64
ToDouble ← Phi#58
I[0, 9]: Double
65
Add ← Unbox#63, ToDouble#64 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
66
Call ← Constant#7, Constant#3, Add#65
Value
67
Unbox Phi#54 to Int32 (fallible)
Int32
68
Add ← Unbox#67, Phi#58 [int32]
I[-2147483648, ?] (< pow(2, 32+1)): Int32
69
Goto → block 3
Block 3
70
Constant 0xff
I[255, 255]: Int32
71
Lsh ← Add#68, Constant#20
I[-2147483648, 2147483647]: Int32
72
Rsh ← Add#68, Constant#20
I[-1073741824, 1073741823]: Int32
73
BitAnd ← Add#68, Constant#70
I[0, 255]: Int32
74
Ursh ← Add#68, Constant#25
I[0, 1073741823]: Int32
75
Add ← BitAnd#73, Ursh#74 [int32]
I[0, 1073742078]: Int32
76
BitNot ← Add#68
I[-2147483648, 2147483647]: Int32
77
Sub ← Add#75, BitNot#76 [int32]
I[-2147483648, 2147483647]: Int32 (t)
78
BitXor ← Rsh#72, Sub#77
I[-2147483648, 2147483647]: Int32
79
BitOr ← Lsh#71, BitXor#78
I[-2147483648, 2147483647]: Int32
80
Goto → block 4
Block 4
81
Call ← Constant#11, Constant#3, Phi#55, Call#66
Value
82
NewArrayObject ← Constant#13
Object
83
Elements ← NewArrayObject#82
Elements
84
PostWriteBarrier ← NewArrayObject#82, Call#66
85
StoreElement ← Elements#83, Constant#15, Call#66
860
KeepAliveObject ← NewArrayObject#82
86
SetInitializedLength ← Elements#83, Constant#15
859
KeepAliveObject ← NewArrayObject#82
87
Elements ← NewArrayObject#82
Elements
88
PostWriteBarrier ← NewArrayObject#82, BitOr#79
89
StoreElement ← Elements#87, Constant#20, BitOr#79
862
KeepAliveObject ← NewArrayObject#82
90
SetInitializedLength ← Elements#87, Constant#20
861
KeepAliveObject ← NewArrayObject#82
91
Elements ← NewArrayObject#82
Elements
92
PostWriteBarrier ← NewArrayObject#82, Call#81
93
StoreElement ← Elements#91, Constant#25, Call#81
864
KeepAliveObject ← NewArrayObject#82
94
SetInitializedLength ← Elements#91, Constant#25
863
KeepAliveObject ← NewArrayObject#82
95
Elements ← NewArrayObject#82
Elements
96
PostWriteBarrier ← NewArrayObject#82, Phi#58
97
StoreElement ← Elements#95, Constant#30, Phi#58
866
KeepAliveObject ← NewArrayObject#82
98
SetInitializedLength ← Elements#95, Constant#30
865
KeepAliveObject ← NewArrayObject#82
99
Goto → block 5
Block 5
100
Constant function complex4/< (-e:18) at 104289c63d28
Object
101
GuardShape ← NewArrayObject#82
Object
102
Constant function map (self-hosted:163) at 104289c47920
Object
103
Lambda ← FunctionEnvironment#50, Constant#100
Object
104
Goto → block 6
Block 6
105
Constant function ToObject at 104289c6c740
Object
106
Constant function ToLength at 104289c6c778
Object
107
Box ← Constant#105
Value
108
DebugCheckSelfHosted ← Box#107
Value
109
Box ← Constant#106
Value
110
DebugCheckSelfHosted ← Box#109
Value
111
GuardShape ← NewArrayObject#82
Object
112
Elements ← GuardShape#111
Elements
867
DebugEnterGCUnsafeRegion
113
ArrayLength ← Elements#112
I[0, 2147483647]: Int32
868
DebugLeaveGCUnsafeRegion
114
Goto → block 7
Block 7
115
Constant function IsCallable at 104289c6c7b0
Object
116
Box ← Constant#115
Value
117
DebugCheckSelfHosted ← Box#116
Value
118
AssertClass ← Lambda#103
119
Goto → block 8
Block 8
120
Goto → block 9
Block 9
121
Box ← Constant#3
Value
122
Goto → block 10
Block 10
123
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
124
Box ← Constant#123
Value
125
DebugCheckSelfHosted ← Box#124
Value
126
HasShape ← NewArrayObject#82
Bool
127
Test ← HasShape#126 → block 11, block 53
1
0
Block 11
128
Constant function std_Array at 104289c6c820
Object
129
Box ← Constant#128
Value
130
DebugCheckSelfHosted ← Box#129
Value
131
Unbox DebugCheckSelfHosted#130 to Object (fallible)
Object
132
GuardSpecificFunction ← Unbox#131, Constant#128
Object
133
NewArrayDynamicLength ← ArrayLength#113
Object
134
Goto → block 12
Block 12
135
GuardShape ← NewArrayObject#82
Object
136
Constant 2
I[2, 2]: Double
137
GuardShape ← NewArrayDynamicLength#133
Object
138
Goto → block 13
Block 13 (loop header)
139
Phi ← Constant#15, Add#159
I[0 {}, 2147483647 {[loop] #113-1}]: Int32
140
InterruptCheck
141
Compare ← Phi#139, ArrayLength#113 Lt
Bool
142
Test ← Compare#141 → block 14, block 19
1
0
Block 14
143
Elements ← GuardShape#135
Elements
873
DebugEnterGCUnsafeRegion
871
DebugEnterGCUnsafeRegion
144
InitializedLength ← Elements#143
I[0, 268435453]: Int32
874
DebugLeaveGCUnsafeRegion
145
BoundsCheck ← Phi#139, InitializedLength#144
I[0, 2147483646]: Int32
146
SpectreMaskIndex ← Phi#139, InitializedLength#144
I[0, 2147483646]: Int32
147
GuardElementNotHole ← Elements#143, SpectreMaskIndex#146
872
DebugLeaveGCUnsafeRegion
148
Goto → block 15
Block 15
149
GuardElementsArePacked ← Elements#143
870
KeepAliveObject ← GuardShape#135
150
LoadElement ← Elements#143, SpectreMaskIndex#146
Value
869
KeepAliveObject ← GuardShape#135
151
AssertClass ← Lambda#103
152
Goto → block 16
Block 16
153
Unbox LoadElement#150 to Double (fallible)
Double
154
Mul ← Unbox#153, Constant#136 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
155
Goto → block 17
Block 17
156
Elements ← GuardShape#137
Elements
157
StoreElementHole ← GuardShape#137, Elements#156, Phi#139, Mul#154
158
Goto → block 18
Block 18 (backedge)
159
Add ← Phi#139, Constant#20 [int32]
I[1, 2147483647]: Int32
160
Goto → block 13
Block 19
161
Constant function complex4/< (-e:18) at 104289c63d60
Object
162
GuardShape ← NewArrayDynamicLength#133
Object
163
Constant function filter (self-hosted:183) at 104289c47970
Object
164
Lambda ← FunctionEnvironment#50, Constant#161
Object
165
Goto → block 20
Block 20
166
DebugCheckSelfHosted ← Box#107
Value
167
DebugCheckSelfHosted ← Box#109
Value
168
GuardShape ← NewArrayDynamicLength#133
Object
169
Elements ← GuardShape#168
Elements
875
DebugEnterGCUnsafeRegion
170
ArrayLength ← Elements#169
I[0, 2147483647]: Int32
876
DebugLeaveGCUnsafeRegion
171
Goto → block 21
Block 21
172
DebugCheckSelfHosted ← Box#116
Value
173
AssertClass ← Lambda#164
174
Goto → block 22
Block 22
175
Goto → block 23
Block 23
176
Goto → block 24
Block 24
177
DebugCheckSelfHosted ← Box#124
Value
178
HasShape ← NewArrayDynamicLength#133
Bool
179
Test ← HasShape#178 → block 25, block 54
1
0
Block 25
180
NewArrayObject ← Constant#13
Object
181
Goto → block 26
Block 26
182
GuardShape ← NewArrayDynamicLength#133
Object
183
Constant 50
I[50, 50]: Double
184
GuardShape ← NewArrayObject#180
Object
185
Goto → block 27
Block 27 (loop header)
186
Phi ← Constant#15, Add#211
I[0 {}, 2147483647 {[loop] #170-1}]: Int32
187
Phi ← Constant#15, Phi#210
Int32
188
InterruptCheck
189
Compare ← Phi#186, ArrayLength#170 Lt
Bool
190
Test ← Compare#189 → block 28, block 35
1
0
Block 28
191
Elements ← GuardShape#182
Elements
881
DebugEnterGCUnsafeRegion
879
DebugEnterGCUnsafeRegion
192
InitializedLength ← Elements#191
I[0, 268435453]: Int32
882
DebugLeaveGCUnsafeRegion
193
BoundsCheck ← Phi#186, InitializedLength#192
I[0, 2147483646]: Int32
194
SpectreMaskIndex ← Phi#186, InitializedLength#192
I[0, 2147483646]: Int32
195
GuardElementNotHole ← Elements#191, SpectreMaskIndex#194
880
DebugLeaveGCUnsafeRegion
196
Goto → block 29
Block 29
197
GuardElementsArePacked ← Elements#191
878
KeepAliveObject ← GuardShape#182
198
LoadElement ← Elements#191, SpectreMaskIndex#194
Value
877
KeepAliveObject ← GuardShape#182
199
AssertClass ← Lambda#164
200
Goto → block 30
Block 30
201
Unbox LoadElement#198 to Double (fallible)
Double
202
Compare ← Unbox#201, Constant#183 Gt
Bool
203
Goto → block 31
Block 31
204
Test ← Compare#202 → block 33, block 32
1
0
Block 32 (split edge)
205
Goto → block 34
Block 33
206
Add ← Phi#187, Constant#20 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
207
Elements ← GuardShape#184
Elements
208
StoreElementHole ← GuardShape#184, Elements#207, Phi#187, LoadElement#198
209
Goto → block 34
Block 34 (backedge)
210
Phi ← Add#206, Phi#187
Int32
211
Add ← Phi#186, Constant#20 [int32]
I[1, 2147483647]: Int32
212
Goto → block 27
Block 35
213
Constant function complex4/< (-e:18) at 104289c63d98
Object
214
GuardShape ← NewArrayObject#180
Object
215
Constant function reduce (self-hosted:205) at 104289c479c0
Object
216
Lambda ← FunctionEnvironment#50, Constant#213
Object
217
Call ← Constant#215, NewArrayObject#180, Lambda#216, Constant#15
Value
218
Goto → block 36
Block 36
219
Constant shape at 104289c64fc0
Shape
220
NewPlainObject ← Constant#219
Object
221
GuardShape ← NewPlainObject#220
Object
222
PostWriteBarrier ← GuardShape#221, Call#66
223
StoreFixedSlot ← GuardShape#221, Call#66 (slot 0)
224
PostWriteBarrier ← GuardShape#221, BitOr#79
225
StoreFixedSlot ← GuardShape#221, BitOr#79 (slot 1)
226
PostWriteBarrier ← GuardShape#221, Call#81
227
StoreFixedSlot ← GuardShape#221, Call#81 (slot 2)
228
Goto → block 37
Block 37
229
Constant object 104289c3f078 (Call)
Object
230
Constant function complex5/< (-e:22) at 104289c63e08
Object
231
NewCallObject ← Constant#229
Object
232
Box ← FunctionEnvironment#51
Value
233
AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#232
234
Box ← Constant#48
Value
235
AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#234
236
StoreFixedSlot ← NewCallObject#231, FunctionEnvironment#51 (slot 0)
237
StoreFixedSlot ← NewCallObject#231, Constant#48 (slot 1)
848
Box ← NewPlainObject#220
Value
849
AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#848
239
StoreFixedSlot ← NewCallObject#231, NewPlainObject#220 (slot 2)
240
AssertClass ← NewPlainObject#220
241
ObjectKeys ← NewPlainObject#220
Object
242
GuardShape ← ObjectKeys#241
Object
243
Lambda ← NewCallObject#231, Constant#230
Object
244
Goto → block 38
Block 38
245
DebugCheckSelfHosted ← Box#107
Value
246
DebugCheckSelfHosted ← Box#109
Value
247
GuardShape ← ObjectKeys#241
Object
248
Elements ← GuardShape#247
Elements
883
DebugEnterGCUnsafeRegion
249
ArrayLength ← Elements#248
I[0, 2147483647]: Int32
884
DebugLeaveGCUnsafeRegion
250
Goto → block 39
Block 39
251
DebugCheckSelfHosted ← Box#116
Value
252
AssertClass ← Lambda#243
253
Goto → block 40
Block 40
254
Goto → block 41
Block 41
255
Goto → block 42
Block 42
256
DebugCheckSelfHosted ← Box#124
Value
257
HasShape ← ObjectKeys#241
Bool
258
Test ← HasShape#257 → block 43, block 55
1
0
Block 43
259
DebugCheckSelfHosted ← Box#129
Value
260
Unbox DebugCheckSelfHosted#259 to Object (fallible)
Object
261
GuardSpecificFunction ← Unbox#260, Constant#128
Object
262
NewArrayDynamicLength ← ArrayLength#249
Object
263
Goto → block 44
Block 44
264
GuardShape ← ObjectKeys#241
Object
850
LoadFixedSlotAndUnbox ← NewCallObject#231 (slot 2)
Object
267
GuardShape ← NewArrayDynamicLength#262
Object
268
Goto → block 45
Block 45 (loop header)
269
Phi ← Constant#15, Add#288
I[0 {}, 2147483647 {[loop] #249-1}]: Int32
270
InterruptCheck
271
Compare ← Phi#269, ArrayLength#249 Lt
Bool
272
Test ← Compare#271 → block 46, block 51
1
0
Block 46
273
Elements ← GuardShape#264
Elements
889
DebugEnterGCUnsafeRegion
887
DebugEnterGCUnsafeRegion
274
InitializedLength ← Elements#273
I[0, 268435453]: Int32
890
DebugLeaveGCUnsafeRegion
275
BoundsCheck ← Phi#269, InitializedLength#274
I[0, 2147483646]: Int32
276
SpectreMaskIndex ← Phi#269, InitializedLength#274
I[0, 2147483646]: Int32
277
GuardElementNotHole ← Elements#273, SpectreMaskIndex#276
888
DebugLeaveGCUnsafeRegion
278
Goto → block 47
Block 47
279
GuardElementsArePacked ← Elements#273
886
KeepAliveObject ← GuardShape#264
280
LoadElement ← Elements#273, SpectreMaskIndex#276
Value
885
KeepAliveObject ← GuardShape#264
281
AssertClass ← Lambda#243
282
Goto → block 48
Block 48
283
MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#850, LoadElement#280
Value
284
Goto → block 49
Block 49
285
Elements ← GuardShape#267
Elements
286
StoreElementHole ← GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283
287
Goto → block 50
Block 50 (backedge)
288
Add ← Phi#269, Constant#20 [int32]
I[1, 2147483647]: Int32
289
Goto → block 45
Block 51
290
Constant function complex5/< (-e:22) at 104289c63e40
Object
291
GuardShape ← NewArrayDynamicLength#262
Object
292
Lambda ← NewCallObject#231, Constant#290
Object
293
Call ← Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15
Value
294
Goto → block 52
Block 52 (backedge)
295
Add ← Phi#58, Constant#20 [int32]
I[1, 10]: Int32
296
Box ← BitOr#79
Value
297
Goto → block 1
Block 53
298
CallGetIntrinsicValue
Value
299
DebugCheckSelfHosted ← CallGetIntrinsicValue#298
Value
300
Bail
301
Unreachable
Block 54
302
CallGetIntrinsicValue
Value
303
DebugCheckSelfHosted ← CallGetIntrinsicValue#302
Value
304
Bail
305
Unreachable
Block 55
306
CallGetIntrinsicValue
Value
307
DebugCheckSelfHosted ← CallGetIntrinsicValue#306
Value
308
Bail
309
Unreachable
Block 56
310
Unbox Phi#53 to Double (fallible)
Double
311
Unbox Phi#54 to Double (fallible)
Double
312
Add ← Unbox#310, Unbox#311 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
313
Unbox Phi#55 to Double (fallible)
Double
314
Add ← Add#312, Unbox#313 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
315
Unbox Phi#56 to Double (fallible)
Double
316
Add ← Add#314, Unbox#315 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
317
Unbox Phi#57 to Double (fallible)
Double
318
Add ← Add#316, Unbox#317 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
319
Box ← Add#318
Value
320
Return ← Box#319
Block 0
0
Constant magic optimized-out
MagicOptimizedOut
1
Parameter THIS_SLOT
Value
2
Parameter 0
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Constant function complex1 (-e:2) at 104289c6c8c8
Object
8
Call ← Constant#7, Constant#3, Parameter#2
Value
9
Constant function complex2 (-e:7) at 104289c6c970
Object
10
Call ← Constant#9, Constant#3, Parameter#2
Value
11
Constant function complex3 (-e:11) at 104289c6c938
Object
12
Call ← Constant#11, Constant#3, Parameter#2, Call#8
Value
13
Constant shape at 104289c64f00
Shape
14
NewArrayObject ← Constant#13
Object
15
Constant 0x0
I[0, 0]: Int32
16
Elements ← NewArrayObject#14
Elements
17
PostWriteBarrier ← NewArrayObject#14, Call#8
18
StoreElement ← Elements#16, Constant#15, Call#8
852
KeepAliveObject ← NewArrayObject#14
19
SetInitializedLength ← Elements#16, Constant#15
851
KeepAliveObject ← NewArrayObject#14
20
Constant 0x1
I[1, 1]: Int32
21
Elements ← NewArrayObject#14
Elements
22
PostWriteBarrier ← NewArrayObject#14, Call#10
23
StoreElement ← Elements#21, Constant#20, Call#10
854
KeepAliveObject ← NewArrayObject#14
24
SetInitializedLength ← Elements#21, Constant#20
853
KeepAliveObject ← NewArrayObject#14
25
Constant 0x2
I[2, 2]: Int32
26
Elements ← NewArrayObject#14
Elements
27
PostWriteBarrier ← NewArrayObject#14, Call#12
28
StoreElement ← Elements#26, Constant#25, Call#12
856
KeepAliveObject ← NewArrayObject#14
29
SetInitializedLength ← Elements#26, Constant#25
855
KeepAliveObject ← NewArrayObject#14
30
Constant 0x3
I[3, 3]: Int32
31
Elements ← NewArrayObject#14
Elements
32
PostWriteBarrier ← NewArrayObject#14, Parameter#2
33
StoreElement ← Elements#31, Constant#30, Parameter#2
858
KeepAliveObject ← NewArrayObject#14
34
SetInitializedLength ← Elements#31, Constant#30
857
KeepAliveObject ← NewArrayObject#14
35
Constant function complex4 (-e:17) at 104289c6c890
Object
36
Call ← Constant#35, Constant#3, NewArrayObject#14
Value
37
Constant shape at 104289c64fa0
Shape
38
NewPlainObject ← Constant#37
Object
39
GuardShape ← NewPlainObject#38
Object
40
PostWriteBarrier ← GuardShape#39, Call#8
41
StoreFixedSlot ← GuardShape#39, Call#8 (slot 0)
42
PostWriteBarrier ← GuardShape#39, Call#10
43
StoreFixedSlot ← GuardShape#39, Call#10 (slot 1)
44
PostWriteBarrier ← GuardShape#39, Call#12
45
StoreFixedSlot ← GuardShape#39, Call#12 (slot 2)
46
PostWriteBarrier ← GuardShape#39, Call#36
47
StoreFixedSlot ← GuardShape#39, Call#36 (slot 3)
48
Constant function complex5 (-e:21) at 104289c6c900
Object
49
Call ← Constant#48, Constant#3, NewPlainObject#38
Value
50
FunctionEnvironment ← Constant#35
Object
51
FunctionEnvironment ← Constant#48
Object
52
Goto → block 1
Block 1 (loop header)
53
Phi ← Call#8, Call#66
Value
54
Phi ← Call#10, Box#296
Value
55
Phi ← Call#12, Call#81
Value
56
Phi ← Call#36, Call#217
Value
57
Phi ← Call#49, Call#293
Value
58
Phi ← Constant#15, Add#295
I[0 {}, 2147483647 {[loop] +9}]: Int32
59
InterruptCheck
60
Constant 0xa
I[10, 10]: Int32
61
Compare ← Phi#58, Constant#60 Lt
Bool
62
Test ← Compare#61 → block 2, block 56
1
0
Block 2
63
Unbox Phi#53 to Double (fallible)
Double
64
ToDouble ← Phi#58
I[0, 9]: Double
65
Add ← Unbox#63, ToDouble#64 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
66
Call ← Constant#7, Constant#3, Add#65
Value
67
Unbox Phi#54 to Int32 (fallible)
Int32
68
Add ← Unbox#67, Phi#58 [int32]
I[-2147483648, ?] (< pow(2, 32+1)): Int32
69
Goto → block 3
Block 3
70
Constant 0xff
I[255, 255]: Int32
71
Lsh ← Add#68, Constant#20
I[-2147483648, 2147483647]: Int32
72
Rsh ← Add#68, Constant#20
I[-1073741824, 1073741823]: Int32
73
BitAnd ← Add#68, Constant#70
I[0, 255]: Int32
74
Ursh ← Add#68, Constant#25
I[0, 1073741823]: Int32
75
Add ← BitAnd#73, Ursh#74 [int32]
I[0, 1073742078]: Int32
76
BitNot ← Add#68
I[-2147483648, 2147483647]: Int32
77
Sub ← Add#75, BitNot#76 [int32]
I[-2147483648, 2147483647]: Int32 (t)
78
BitXor ← Rsh#72, Sub#77
I[-2147483648, 2147483647]: Int32
79
BitOr ← Lsh#71, BitXor#78
I[-2147483648, 2147483647]: Int32
80
Goto → block 4
Block 4
81
Call ← Constant#11, Constant#3, Phi#55, Call#66
Value
82
NewArrayObject ← Constant#13
Object
83
Elements ← NewArrayObject#82
Elements
84
PostWriteBarrier ← NewArrayObject#82, Call#66
85
StoreElement ← Elements#83, Constant#15, Call#66
860
KeepAliveObject ← NewArrayObject#82
86
SetInitializedLength ← Elements#83, Constant#15
859
KeepAliveObject ← NewArrayObject#82
87
Elements ← NewArrayObject#82
Elements
88
PostWriteBarrier ← NewArrayObject#82, BitOr#79
89
StoreElement ← Elements#87, Constant#20, BitOr#79
862
KeepAliveObject ← NewArrayObject#82
90
SetInitializedLength ← Elements#87, Constant#20
861
KeepAliveObject ← NewArrayObject#82
91
Elements ← NewArrayObject#82
Elements
92
PostWriteBarrier ← NewArrayObject#82, Call#81
93
StoreElement ← Elements#91, Constant#25, Call#81
864
KeepAliveObject ← NewArrayObject#82
94
SetInitializedLength ← Elements#91, Constant#25
863
KeepAliveObject ← NewArrayObject#82
95
Elements ← NewArrayObject#82
Elements
96
PostWriteBarrier ← NewArrayObject#82, Phi#58
97
StoreElement ← Elements#95, Constant#30, Phi#58
866
KeepAliveObject ← NewArrayObject#82
98
SetInitializedLength ← Elements#95, Constant#30
865
KeepAliveObject ← NewArrayObject#82
99
Goto → block 5
Block 5
100
Constant function complex4/< (-e:18) at 104289c63d28
Object
101
GuardShape ← NewArrayObject#82
Object
102
Constant function map (self-hosted:163) at 104289c47920
Object
103
Lambda ← FunctionEnvironment#50, Constant#100
Object
104
Goto → block 6
Block 6
105
Constant function ToObject at 104289c6c740
Object
106
Constant function ToLength at 104289c6c778
Object
107
Box ← Constant#105
Value
108
DebugCheckSelfHosted ← Box#107
Value
109
Box ← Constant#106
Value
110
DebugCheckSelfHosted ← Box#109
Value
111
GuardShape ← NewArrayObject#82
Object
112
Elements ← GuardShape#111
Elements
867
DebugEnterGCUnsafeRegion
113
ArrayLength ← Elements#112
I[0, 2147483647]: Int32
868
DebugLeaveGCUnsafeRegion
114
Goto → block 7
Block 7
115
Constant function IsCallable at 104289c6c7b0
Object
116
Box ← Constant#115
Value
117
DebugCheckSelfHosted ← Box#116
Value
118
AssertClass ← Lambda#103
119
Goto → block 8
Block 8
120
Goto → block 9
Block 9
121
Box ← Constant#3
Value
122
Goto → block 10
Block 10
123
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
124
Box ← Constant#123
Value
125
DebugCheckSelfHosted ← Box#124
Value
126
HasShape ← NewArrayObject#82
Bool
127
Test ← HasShape#126 → block 11, block 53
1
0
Block 11
128
Constant function std_Array at 104289c6c820
Object
129
Box ← Constant#128
Value
130
DebugCheckSelfHosted ← Box#129
Value
131
Unbox Box#129 to Object (fallible)
Object
132
GuardSpecificFunction ← Unbox#131, Constant#128
Object
133
NewArrayDynamicLength ← ArrayLength#113
Object
134
Goto → block 12
Block 12
135
GuardShape ← NewArrayObject#82
Object
136
Constant 2
I[2, 2]: Double
137
GuardShape ← NewArrayDynamicLength#133
Object
138
Goto → block 13
Block 13 (loop header)
139
Phi ← Constant#15, Add#159
I[0 {}, 2147483647 {[loop] #113-1}]: Int32
140
InterruptCheck
141
Compare ← Phi#139, ArrayLength#113 Lt
Bool
142
Test ← Compare#141 → block 14, block 19
1
0
Block 14
143
Elements ← GuardShape#135
Elements
873
DebugEnterGCUnsafeRegion
871
DebugEnterGCUnsafeRegion
144
InitializedLength ← Elements#143
I[0, 268435453]: Int32
874
DebugLeaveGCUnsafeRegion
145
BoundsCheck ← Phi#139, InitializedLength#144
I[0, 2147483646]: Int32
146
SpectreMaskIndex ← Phi#139, InitializedLength#144
I[0, 2147483646]: Int32
147
GuardElementNotHole ← Elements#143, SpectreMaskIndex#146
872
DebugLeaveGCUnsafeRegion
148
Goto → block 15
Block 15
149
GuardElementsArePacked ← Elements#143
870
KeepAliveObject ← GuardShape#135
150
LoadElement ← Elements#143, SpectreMaskIndex#146
Value
869
KeepAliveObject ← GuardShape#135
151
AssertClass ← Lambda#103
152
Goto → block 16
Block 16
153
Unbox LoadElement#150 to Double (fallible)
Double
154
Mul ← Unbox#153, Constant#136 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
155
Goto → block 17
Block 17
156
Elements ← GuardShape#137
Elements
157
StoreElementHole ← GuardShape#137, Elements#156, Phi#139, Mul#154
158
Goto → block 18
Block 18 (backedge)
159
Add ← Phi#139, Constant#20 [int32]
I[1, 2147483647]: Int32
160
Goto → block 13
Block 19
161
Constant function complex4/< (-e:18) at 104289c63d60
Object
162
GuardShape ← NewArrayDynamicLength#133
Object
163
Constant function filter (self-hosted:183) at 104289c47970
Object
164
Lambda ← FunctionEnvironment#50, Constant#161
Object
165
Goto → block 20
Block 20
166
DebugCheckSelfHosted ← Box#107
Value
167
DebugCheckSelfHosted ← Box#109
Value
168
GuardShape ← NewArrayDynamicLength#133
Object
169
Elements ← GuardShape#168
Elements
875
DebugEnterGCUnsafeRegion
170
ArrayLength ← Elements#169
I[0, 2147483647]: Int32
876
DebugLeaveGCUnsafeRegion
171
Goto → block 21
Block 21
172
DebugCheckSelfHosted ← Box#116
Value
173
AssertClass ← Lambda#164
174
Goto → block 22
Block 22
175
Goto → block 23
Block 23
176
Goto → block 24
Block 24
177
DebugCheckSelfHosted ← Box#124
Value
178
HasShape ← NewArrayDynamicLength#133
Bool
179
Test ← HasShape#178 → block 25, block 54
1
0
Block 25
180
NewArrayObject ← Constant#13
Object
181
Goto → block 26
Block 26
182
GuardShape ← NewArrayDynamicLength#133
Object
183
Constant 50
I[50, 50]: Double
184
GuardShape ← NewArrayObject#180
Object
185
Goto → block 27
Block 27 (loop header)
186
Phi ← Constant#15, Add#211
I[0 {}, 2147483647 {[loop] #170-1}]: Int32
187
Phi ← Constant#15, Phi#210
Int32
188
InterruptCheck
189
Compare ← Phi#186, ArrayLength#170 Lt
Bool
190
Test ← Compare#189 → block 28, block 35
1
0
Block 28
191
Elements ← GuardShape#182
Elements
881
DebugEnterGCUnsafeRegion
879
DebugEnterGCUnsafeRegion
192
InitializedLength ← Elements#191
I[0, 268435453]: Int32
882
DebugLeaveGCUnsafeRegion
193
BoundsCheck ← Phi#186, InitializedLength#192
I[0, 2147483646]: Int32
194
SpectreMaskIndex ← Phi#186, InitializedLength#192
I[0, 2147483646]: Int32
195
GuardElementNotHole ← Elements#191, SpectreMaskIndex#194
880
DebugLeaveGCUnsafeRegion
196
Goto → block 29
Block 29
197
GuardElementsArePacked ← Elements#191
878
KeepAliveObject ← GuardShape#182
198
LoadElement ← Elements#191, SpectreMaskIndex#194
Value
877
KeepAliveObject ← GuardShape#182
199
AssertClass ← Lambda#164
200
Goto → block 30
Block 30
201
Unbox LoadElement#198 to Double (fallible)
Double
202
Compare ← Unbox#201, Constant#183 Gt
Bool
203
Goto → block 31
Block 31
204
Test ← Compare#202 → block 33, block 32
1
0
Block 32 (split edge)
205
Goto → block 34
Block 33
206
Add ← Phi#187, Constant#20 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
207
Elements ← GuardShape#184
Elements
208
StoreElementHole ← GuardShape#184, Elements#207, Phi#187, LoadElement#198
209
Goto → block 34
Block 34 (backedge)
210
Phi ← Add#206, Phi#187
Int32
211
Add ← Phi#186, Constant#20 [int32]
I[1, 2147483647]: Int32
212
Goto → block 27
Block 35
213
Constant function complex4/< (-e:18) at 104289c63d98
Object
214
GuardShape ← NewArrayObject#180
Object
215
Constant function reduce (self-hosted:205) at 104289c479c0
Object
216
Lambda ← FunctionEnvironment#50, Constant#213
Object
217
Call ← Constant#215, NewArrayObject#180, Lambda#216, Constant#15
Value
218
Goto → block 36
Block 36
219
Constant shape at 104289c64fc0
Shape
220
NewPlainObject ← Constant#219
Object
221
GuardShape ← NewPlainObject#220
Object
222
PostWriteBarrier ← GuardShape#221, Call#66
223
StoreFixedSlot ← GuardShape#221, Call#66 (slot 0)
224
PostWriteBarrier ← GuardShape#221, BitOr#79
225
StoreFixedSlot ← GuardShape#221, BitOr#79 (slot 1)
226
PostWriteBarrier ← GuardShape#221, Call#81
227
StoreFixedSlot ← GuardShape#221, Call#81 (slot 2)
228
Goto → block 37
Block 37
229
Constant object 104289c3f078 (Call)
Object
230
Constant function complex5/< (-e:22) at 104289c63e08
Object
231
NewCallObject ← Constant#229
Object
232
Box ← FunctionEnvironment#51
Value
233
AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#232
234
Box ← Constant#48
Value
235
AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#234
236
StoreFixedSlot ← NewCallObject#231, FunctionEnvironment#51 (slot 0)
237
StoreFixedSlot ← NewCallObject#231, Constant#48 (slot 1)
848
Box ← NewPlainObject#220
Value
849
AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#848
239
StoreFixedSlot ← NewCallObject#231, NewPlainObject#220 (slot 2)
240
AssertClass ← NewPlainObject#220
241
ObjectKeys ← NewPlainObject#220
Object
242
GuardShape ← ObjectKeys#241
Object
243
Lambda ← NewCallObject#231, Constant#230
Object
244
Goto → block 38
Block 38
245
DebugCheckSelfHosted ← Box#107
Value
246
DebugCheckSelfHosted ← Box#109
Value
247
GuardShape ← ObjectKeys#241
Object
248
Elements ← GuardShape#247
Elements
883
DebugEnterGCUnsafeRegion
249
ArrayLength ← Elements#248
I[0, 2147483647]: Int32
884
DebugLeaveGCUnsafeRegion
250
Goto → block 39
Block 39
251
DebugCheckSelfHosted ← Box#116
Value
252
AssertClass ← Lambda#243
253
Goto → block 40
Block 40
254
Goto → block 41
Block 41
255
Goto → block 42
Block 42
256
DebugCheckSelfHosted ← Box#124
Value
257
HasShape ← ObjectKeys#241
Bool
258
Test ← HasShape#257 → block 43, block 55
1
0
Block 43
259
DebugCheckSelfHosted ← Box#129
Value
260
Unbox Box#129 to Object (fallible)
Object
261
GuardSpecificFunction ← Unbox#260, Constant#128
Object
262
NewArrayDynamicLength ← ArrayLength#249
Object
263
Goto → block 44
Block 44
264
GuardShape ← ObjectKeys#241
Object
850
LoadFixedSlotAndUnbox ← NewCallObject#231 (slot 2)
Object
267
GuardShape ← NewArrayDynamicLength#262
Object
268
Goto → block 45
Block 45 (loop header)
269
Phi ← Constant#15, Add#288
I[0 {}, 2147483647 {[loop] #249-1}]: Int32
270
InterruptCheck
271
Compare ← Phi#269, ArrayLength#249 Lt
Bool
272
Test ← Compare#271 → block 46, block 51
1
0
Block 46
273
Elements ← GuardShape#264
Elements
889
DebugEnterGCUnsafeRegion
887
DebugEnterGCUnsafeRegion
274
InitializedLength ← Elements#273
I[0, 268435453]: Int32
890
DebugLeaveGCUnsafeRegion
275
BoundsCheck ← Phi#269, InitializedLength#274
I[0, 2147483646]: Int32
276
SpectreMaskIndex ← Phi#269, InitializedLength#274
I[0, 2147483646]: Int32
277
GuardElementNotHole ← Elements#273, SpectreMaskIndex#276
888
DebugLeaveGCUnsafeRegion
278
Goto → block 47
Block 47
279
GuardElementsArePacked ← Elements#273
886
KeepAliveObject ← GuardShape#264
280
LoadElement ← Elements#273, SpectreMaskIndex#276
Value
885
KeepAliveObject ← GuardShape#264
281
AssertClass ← Lambda#243
282
Goto → block 48
Block 48
283
MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#850, LoadElement#280
Value
284
Goto → block 49
Block 49
285
Elements ← GuardShape#267
Elements
286
StoreElementHole ← GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283
287
Goto → block 50
Block 50 (backedge)
288
Add ← Phi#269, Constant#20 [int32]
I[1, 2147483647]: Int32
289
Goto → block 45
Block 51
290
Constant function complex5/< (-e:22) at 104289c63e40
Object
291
GuardShape ← NewArrayDynamicLength#262
Object
292
Lambda ← NewCallObject#231, Constant#290
Object
293
Call ← Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15
Value
294
Goto → block 52
Block 52 (backedge)
295
Add ← Phi#58, Constant#20 [int32]
I[1, 10]: Int32
296
Box ← BitOr#79
Value
297
Goto → block 1
Block 53
298
CallGetIntrinsicValue
Value
299
DebugCheckSelfHosted ← CallGetIntrinsicValue#298
Value
300
Bail
301
Unreachable
Block 54
302
CallGetIntrinsicValue
Value
303
DebugCheckSelfHosted ← CallGetIntrinsicValue#302
Value
304
Bail
305
Unreachable
Block 55
306
CallGetIntrinsicValue
Value
307
DebugCheckSelfHosted ← CallGetIntrinsicValue#306
Value
308
Bail
309
Unreachable
Block 56
310
Unbox Phi#53 to Double (fallible)
Double
311
Unbox Phi#54 to Double (fallible)
Double
312
Add ← Unbox#310, Unbox#311 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
313
Unbox Phi#55 to Double (fallible)
Double
314
Add ← Add#312, Unbox#313 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
315
Unbox Phi#56 to Double (fallible)
Double
316
Add ← Add#314, Unbox#315 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
317
Unbox Phi#57 to Double (fallible)
Double
318
Add ← Add#316, Unbox#317 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
319
Box ← Add#318
Value
320
Return ← Box#319
Block 0
0
Constant magic optimized-out
MagicOptimizedOut
1
Parameter THIS_SLOT
Value
2
Parameter 0
Value
3
Constant undefined
Undefined
4
Start
5
CheckOverRecursed
6
Constant magic uninitialized-lexical
MagicUninitializedLexical
7
Constant function complex1 (-e:2) at 104289c6c8c8
Object
8
Call ← Constant#7, Constant#3, Parameter#2
Value
9
Constant function complex2 (-e:7) at 104289c6c970
Object
10
Call ← Constant#9, Constant#3, Parameter#2
Value
11
Constant function complex3 (-e:11) at 104289c6c938
Object
12
Call ← Constant#11, Constant#3, Parameter#2, Call#8
Value
13
Constant shape at 104289c64f00
Shape
14
NewArrayObject ← Constant#13
Object
15
Constant 0x0
I[0, 0]: Int32
16
Elements ← NewArrayObject#14
Elements
17
PostWriteBarrier ← NewArrayObject#14, Call#8
18
StoreElement ← Elements#16, Constant#15, Call#8
852
KeepAliveObject ← NewArrayObject#14
19
SetInitializedLength ← Elements#16, Constant#15
851
KeepAliveObject ← NewArrayObject#14
20
Constant 0x1
I[1, 1]: Int32
21
Elements ← NewArrayObject#14
Elements
22
PostWriteBarrier ← NewArrayObject#14, Call#10
23
StoreElement ← Elements#21, Constant#20, Call#10
854
KeepAliveObject ← NewArrayObject#14
24
SetInitializedLength ← Elements#21, Constant#20
853
KeepAliveObject ← NewArrayObject#14
25
Constant 0x2
I[2, 2]: Int32
26
Elements ← NewArrayObject#14
Elements
27
PostWriteBarrier ← NewArrayObject#14, Call#12
28
StoreElement ← Elements#26, Constant#25, Call#12
856
KeepAliveObject ← NewArrayObject#14
29
SetInitializedLength ← Elements#26, Constant#25
855
KeepAliveObject ← NewArrayObject#14
30
Constant 0x3
I[3, 3]: Int32
31
Elements ← NewArrayObject#14
Elements
32
PostWriteBarrier ← NewArrayObject#14, Parameter#2
33
StoreElement ← Elements#31, Constant#30, Parameter#2
858
KeepAliveObject ← NewArrayObject#14
34
SetInitializedLength ← Elements#31, Constant#30
857
KeepAliveObject ← NewArrayObject#14
35
Constant function complex4 (-e:17) at 104289c6c890
Object
36
Call ← Constant#35, Constant#3, NewArrayObject#14
Value
37
Constant shape at 104289c64fa0
Shape
38
NewPlainObject ← Constant#37
Object
39
GuardShape ← NewPlainObject#38
Object
40
PostWriteBarrier ← GuardShape#39, Call#8
41
StoreFixedSlot ← GuardShape#39, Call#8 (slot 0)
42
PostWriteBarrier ← GuardShape#39, Call#10
43
StoreFixedSlot ← GuardShape#39, Call#10 (slot 1)
44
PostWriteBarrier ← GuardShape#39, Call#12
45
StoreFixedSlot ← GuardShape#39, Call#12 (slot 2)
46
PostWriteBarrier ← GuardShape#39, Call#36
47
StoreFixedSlot ← GuardShape#39, Call#36 (slot 3)
48
Constant function complex5 (-e:21) at 104289c6c900
Object
49
Call ← Constant#48, Constant#3, NewPlainObject#38
Value
50
FunctionEnvironment ← Constant#35
Object
51
FunctionEnvironment ← Constant#48
Object
52
Goto → block 1
Block 1 (loop header)
53
Phi ← Call#8, Call#66
Value
54
Phi ← Call#10, Box#296
Value
55
Phi ← Call#12, Call#81
Value
56
Phi ← Call#36, Call#217
Value
57
Phi ← Call#49, Call#293
Value
58
Phi ← Constant#15, Add#295
I[0 {}, 2147483647 {[loop] +9}]: Int32
59
InterruptCheck
60
Constant 0xa
I[10, 10]: Int32
61
Compare ← Phi#58, Constant#60 Lt
Bool
62
Test ← Compare#61 → block 2, block 56
1
0
Block 2
63
Unbox Phi#53 to Double (fallible)
Double
64
ToDouble ← Phi#58
I[0, 9]: Double
65
Add ← Unbox#63, ToDouble#64 [double]
F[?, ?] (U NaN U -Infinity U Infinity): Double
66
Call ← Constant#7, Constant#3, Add#65
Value
67
Unbox Phi#54 to Int32 (fallible)
Int32
68
Add ← Unbox#67, Phi#58 [int32]
I[-2147483648, ?] (< pow(2, 32+1)): Int32
69
Goto → block 3
Block 3
70
Constant 0xff
I[255, 255]: Int32
71
Lsh ← Add#68, Constant#20
I[-2147483648, 2147483647]: Int32
72
Rsh ← Add#68, Constant#20
I[-1073741824, 1073741823]: Int32
73
BitAnd ← Add#68, Constant#70
I[0, 255]: Int32
74
Ursh ← Add#68, Constant#25
I[0, 1073741823]: Int32
75
Add ← BitAnd#73, Ursh#74 [int32]
I[0, 1073742078]: Int32
76
BitNot ← Add#68
I[-2147483648, 2147483647]: Int32
77
Sub ← Add#75, BitNot#76 [int32]
I[-2147483648, 2147483647]: Int32 (t)
78
BitXor ← Rsh#72, Sub#77
I[-2147483648, 2147483647]: Int32
79
BitOr ← Lsh#71, BitXor#78
I[-2147483648, 2147483647]: Int32
80
Goto → block 4
Block 4
81
Call ← Constant#11, Constant#3, Phi#55, Call#66
Value
82
NewArrayObject ← Constant#13
Object
83
Elements ← NewArrayObject#82
Elements
84
PostWriteBarrier ← NewArrayObject#82, Call#66
85
StoreElement ← Elements#83, Constant#15, Call#66
860
KeepAliveObject ← NewArrayObject#82
86
SetInitializedLength ← Elements#83, Constant#15
859
KeepAliveObject ← NewArrayObject#82
87
Elements ← NewArrayObject#82
Elements
88
PostWriteBarrier ← NewArrayObject#82, BitOr#79
89
StoreElement ← Elements#87, Constant#20, BitOr#79
862
KeepAliveObject ← NewArrayObject#82
90
SetInitializedLength ← Elements#87, Constant#20
861
KeepAliveObject ← NewArrayObject#82
91
Elements ← NewArrayObject#82
Elements
92
PostWriteBarrier ← NewArrayObject#82, Call#81
93
StoreElement ← Elements#91, Constant#25, Call#81
864
KeepAliveObject ← NewArrayObject#82
94
SetInitializedLength ← Elements#91, Constant#25
863
KeepAliveObject ← NewArrayObject#82
95
Elements ← NewArrayObject#82
Elements
96
PostWriteBarrier ← NewArrayObject#82, Phi#58
97
StoreElement ← Elements#95, Constant#30, Phi#58
866
KeepAliveObject ← NewArrayObject#82
98
SetInitializedLength ← Elements#95, Constant#30
865
KeepAliveObject ← NewArrayObject#82
99
Goto → block 5
Block 5
100
Constant function complex4/< (-e:18) at 104289c63d28
Object
101
GuardShape ← NewArrayObject#82
Object
102
Constant function map (self-hosted:163) at 104289c47920
Object
103
Lambda ← FunctionEnvironment#50, Constant#100
Object
104
Goto → block 6
Block 6
105
Constant function ToObject at 104289c6c740
Object
106
Constant function ToLength at 104289c6c778
Object
107
Box ← Constant#105
Value
108
DebugCheckSelfHosted ← Box#107
Value
109
Box ← Constant#106
Value
110
DebugCheckSelfHosted ← Box#109
Value
111
GuardShape ← NewArrayObject#82
Object
112
Elements ← GuardShape#111
Elements
867
DebugEnterGCUnsafeRegion
113
ArrayLength ← Elements#112
I[0, 2147483647]: Int32
868
DebugLeaveGCUnsafeRegion
114
Goto → block 7
Block 7
115
Constant function IsCallable at 104289c6c7b0
Object
116
Box ← Constant#115
Value
117
DebugCheckSelfHosted ← Box#116
Value
118
AssertClass ← Lambda#103
119
Goto → block 8
Block 8
120
Goto → block 9
Block 9
121
Box ← Constant#3
Value
122
Goto → block 10
Block 10
123
Constant function CanOptimizeArraySpecies at 104289c6c7e8
Object
124
Box ← Constant#123
Value
125
DebugCheckSelfHosted ← Box#124
Value
126
HasShape ← NewArrayObject#82
Bool
127
Test ← HasShape#126 → block 11, block 53
1
0
Block 11
128
Constant function std_Array at 104289c6c820
Object
129
Box ← Constant#128
Value
130
DebugCheckSelfHosted ← Box#129
Value
131
Unbox Box#129 to Object (fallible)
Object
132
GuardSpecificFunction ← Unbox#131, Constant#128
Object
133
NewArrayDynamicLength ← ArrayLength#113
Object
134
Goto → block 12
Block 12
135
GuardShape ← NewArrayObject#82
Object
136
Constant 2
I[2, 2]: Double
137
GuardShape ← NewArrayDynamicLength#133
Object
138
Goto → block 13
Block 13 (loop header)
139
Phi ← Constant#15, Add#159
I[0 {}, 2147483647 {[loop] #113-1}]: Int32
140
InterruptCheck
141
Compare ← Phi#139, ArrayLength#113 Lt
Bool
142
Test ← Compare#141 → block 14, block 19
1
0
Block 14
143
Elements ← GuardShape#135
Elements
873
DebugEnterGCUnsafeRegion
871
DebugEnterGCUnsafeRegion
144
InitializedLength ← Elements#143
I[0, 268435453]: Int32
874
DebugLeaveGCUnsafeRegion
145
BoundsCheck ← Phi#139, InitializedLength#144
I[0, 2147483646]: Int32
146
SpectreMaskIndex ← Phi#139, InitializedLength#144
I[0, 2147483646]: Int32
147
GuardElementNotHole ← Elements#143, SpectreMaskIndex#146
872
DebugLeaveGCUnsafeRegion
148
Goto → block 15
Block 15
149
GuardElementsArePacked ← Elements#143
870
KeepAliveObject ← GuardShape#135
150
LoadElement ← Elements#143, SpectreMaskIndex#146
Value
869
KeepAliveObject ← GuardShape#135
151
AssertClass ← Lambda#103
152
Goto → block 16
Block 16
153
Unbox LoadElement#150 to Double (fallible)
Double
154
Mul ← Unbox#153, Constant#136 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
155
Goto → block 17
Block 17
156
Elements ← GuardShape#137
Elements
157
StoreElementHole ← GuardShape#137, Elements#156, Phi#139, Mul#154
158
Goto → block 18
Block 18 (backedge)
159
Add ← Phi#139, Constant#20 [int32]
I[1, 2147483647]: Int32
160
Goto → block 13
Block 19
161
Constant function complex4/< (-e:18) at 104289c63d60
Object
162
GuardShape ← NewArrayDynamicLength#133
Object
163
Constant function filter (self-hosted:183) at 104289c47970
Object
164
Lambda ← FunctionEnvironment#50, Constant#161
Object
165
Goto → block 20
Block 20
166
DebugCheckSelfHosted ← Box#107
Value
167
DebugCheckSelfHosted ← Box#109
Value
168
GuardShape ← NewArrayDynamicLength#133
Object
169
Elements ← GuardShape#168
Elements
875
DebugEnterGCUnsafeRegion
170
ArrayLength ← Elements#169
I[0, 2147483647]: Int32
876
DebugLeaveGCUnsafeRegion
171
Goto → block 21
Block 21
172
DebugCheckSelfHosted ← Box#116
Value
173
AssertClass ← Lambda#164
174
Goto → block 22
Block 22
175
Goto → block 23
Block 23
176
Goto → block 24
Block 24
177
DebugCheckSelfHosted ← Box#124
Value
178
HasShape ← NewArrayDynamicLength#133
Bool
179
Test ← HasShape#178 → block 25, block 54
1
0
Block 25
180
NewArrayObject ← Constant#13
Object
181
Goto → block 26
Block 26
182
GuardShape ← NewArrayDynamicLength#133
Object
183
Constant 50
I[50, 50]: Double
184
GuardShape ← NewArrayObject#180
Object
185
Goto → block 27
Block 27 (loop header)
186
Phi ← Constant#15, Add#211
I[0 {}, 2147483647 {[loop] #170-1}]: Int32
187
Phi ← Constant#15, Phi#210
Int32
188
InterruptCheck
189
Compare ← Phi#186, ArrayLength#170 Lt
Bool
190
Test ← Compare#189 → block 28, block 35
1
0
Block 28
191
Elements ← GuardShape#182
Elements
881
DebugEnterGCUnsafeRegion
879
DebugEnterGCUnsafeRegion
192
InitializedLength ← Elements#191
I[0, 268435453]: Int32
882
DebugLeaveGCUnsafeRegion
193
BoundsCheck ← Phi#186, InitializedLength#192
I[0, 2147483646]: Int32
194
SpectreMaskIndex ← Phi#186, InitializedLength#192
I[0, 2147483646]: Int32
195
GuardElementNotHole ← Elements#191, SpectreMaskIndex#194
880
DebugLeaveGCUnsafeRegion
196
Goto → block 29
Block 29
197
GuardElementsArePacked ← Elements#191
878
KeepAliveObject ← GuardShape#182
198
LoadElement ← Elements#191, SpectreMaskIndex#194
Value
877
KeepAliveObject ← GuardShape#182
199
AssertClass ← Lambda#164
200
Goto → block 30
Block 30
201
Unbox LoadElement#198 to Double (fallible)
Double
202
Compare ← Unbox#201, Constant#183 Gt
Bool
203
Goto → block 31
Block 31
204
Test ← Compare#202 → block 33, block 32
1
0
Block 32 (split edge)
205
Goto → block 34
Block 33
206
Add ← Phi#187, Constant#20 [int32]
I[-2147483647, ?] (< pow(2, 32+1)): Int32
207
Elements ← GuardShape#184
Elements
208
StoreElementHole ← GuardShape#184, Elements#207, Phi#187, LoadElement#198
209
Goto → block 34
Block 34 (backedge)
210
Phi ← Add#206, Phi#187
Int32
211
Add ← Phi#186, Constant#20 [int32]
I[1, 2147483647]: Int32
212
Goto → block 27
Block 35
213
Constant function complex4/< (-e:18) at 104289c63d98
Object
214
GuardShape ← NewArrayObject#180
Object
215
Constant function reduce (self-hosted:205) at 104289c479c0
Object
216
Lambda ← FunctionEnvironment#50, Constant#213
Object
217
Call ← Constant#215, NewArrayObject#180, Lambda#216, Constant#15
Value
218
Goto → block 36
Block 36
219
Constant shape at 104289c64fc0
Shape
220
NewPlainObject ← Constant#219
Object
221
GuardShape ← NewPlainObject#220
Object
222
PostWriteBarrier ← GuardShape#221, Call#66
223
StoreFixedSlot ← GuardShape#221, Call#66 (slot 0)
224
PostWriteBarrier ← GuardShape#221, BitOr#79
225
StoreFixedSlot ← GuardShape#221, BitOr#79 (slot 1)
226
PostWriteBarrier ← GuardShape#221, Call#81
227
StoreFixedSlot ← GuardShape#221, Call#81 (slot 2)
228
Goto → block 37
Block 37
229
Constant object 104289c3f078 (Call)
Object
230
Constant function complex5/< (-e:22) at 104289c63e08
Object
231
NewCallObject ← Constant#229
Object
232
Box ← FunctionEnvironment#51
Value
233
AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#232
234
Box ← Constant#48
Value
235
AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#234
236
StoreFixedSlot ← NewCallObject#231, FunctionEnvironment#51 (slot 0)
237
StoreFixedSlot ← NewCallObject#231, Constant#48 (slot 1)
848
Box ← NewPlainObject#220
Value
849
AssertCanElidePostWriteBarrier ← NewCallObject#231, Box#848
239
StoreFixedSlot ← NewCallObject#231, NewPlainObject#220 (slot 2)
240
AssertClass ← NewPlainObject#220
241
ObjectKeys ← NewPlainObject#220
Object
242
GuardShape ← ObjectKeys#241
Object
243
Lambda ← NewCallObject#231, Constant#230
Object
244
Goto → block 38
Block 38
245
DebugCheckSelfHosted ← Box#107
Value
246
DebugCheckSelfHosted ← Box#109
Value
247
GuardShape ← ObjectKeys#241
Object
248
Elements ← GuardShape#247
Elements
883
DebugEnterGCUnsafeRegion
249
ArrayLength ← Elements#248
I[0, 2147483647]: Int32
884
DebugLeaveGCUnsafeRegion
250
Goto → block 39
Block 39
251
DebugCheckSelfHosted ← Box#116
Value
252
AssertClass ← Lambda#243
253
Goto → block 40
Block 40
254
Goto → block 41
Block 41
255
Goto → block 42
Block 42
256
DebugCheckSelfHosted ← Box#124
Value
257
HasShape ← ObjectKeys#241
Bool
258
Test ← HasShape#257 → block 43, block 55
1
0
Block 43
259
DebugCheckSelfHosted ← Box#129
Value
260
Unbox Box#129 to Object (fallible)
Object
261
GuardSpecificFunction ← Unbox#260, Constant#128
Object
262
NewArrayDynamicLength ← ArrayLength#249
Object
263
Goto → block 44
Block 44
264
GuardShape ← ObjectKeys#241
Object
850
LoadFixedSlotAndUnbox ← NewCallObject#231 (slot 2)
Object
267
GuardShape ← NewArrayDynamicLength#262
Object
268
Goto → block 45
Block 45 (loop header)
269
Phi ← Constant#15, Add#288
I[0 {}, 2147483647 {[loop] #249-1}]: Int32
270
InterruptCheck
271
Compare ← Phi#269, ArrayLength#249 Lt
Bool
272
Test ← Compare#271 → block 46, block 51
1
0
Block 46
273
Elements ← GuardShape#264
Elements
889
DebugEnterGCUnsafeRegion
887
DebugEnterGCUnsafeRegion
274
InitializedLength ← Elements#273
I[0, 268435453]: Int32
890
DebugLeaveGCUnsafeRegion
275
BoundsCheck ← Phi#269, InitializedLength#274
I[0, 2147483646]: Int32
276
SpectreMaskIndex ← Phi#269, InitializedLength#274
I[0, 2147483646]: Int32
277
GuardElementNotHole ← Elements#273, SpectreMaskIndex#276
888
DebugLeaveGCUnsafeRegion
278
Goto → block 47
Block 47
279
GuardElementsArePacked ← Elements#273
886
KeepAliveObject ← GuardShape#264
280
LoadElement ← Elements#273, SpectreMaskIndex#276
Value
885
KeepAliveObject ← GuardShape#264
281
AssertClass ← Lambda#243
282
Goto → block 48
Block 48
283
MegamorphicLoadSlotByValue ← LoadFixedSlotAndUnbox#850, LoadElement#280
Value
284
Goto → block 49
Block 49
285
Elements ← GuardShape#267
Elements
286
StoreElementHole ← GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283
287
Goto → block 50
Block 50 (backedge)
288
Add ← Phi#269, Constant#20 [int32]
I[1, 2147483647]: Int32
289
Goto → block 45
Block 51
290
Constant function complex5/< (-e:22) at 104289c63e40
Object
291
GuardShape ← NewArrayDynamicLength#262
Object
292
Lambda ← NewCallObject#231, Constant#290
Object
293
Call ← Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15
Value
294
Goto → block 52
Block 52 (backedge)
295
Add ← Phi#58, Constant#20 [int32]
I[1, 10]: Int32
296
Box ← BitOr#79
Value
297
Goto → block 1
Block 53
298
CallGetIntrinsicValue
Value
299
DebugCheckSelfHosted ← CallGetIntrinsicValue#298
Value
300
Bail
301
Unreachable
Block 54
302
CallGetIntrinsicValue
Value
303
DebugCheckSelfHosted ← CallGetIntrinsicValue#302
Value
304
Bail
305
Unreachable
Block 55
306
CallGetIntrinsicValue
Value
307
DebugCheckSelfHosted ← CallGetIntrinsicValue#306
Value
308
Bail
309
Unreachable
Block 56
310
Unbox Phi#53 to Double (fallible)
Double
311
Unbox Phi#54 to Double (fallible)
Double
312
Add ← Unbox#310, Unbox#311 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
313
Unbox Phi#55 to Double (fallible)
Double
314
Add ← Add#312, Unbox#313 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
315
Unbox Phi#56 to Double (fallible)
Double
316
Add ← Add#314, Unbox#315 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
317
Unbox Phi#57 to Double (fallible)
Double
318
Add ← Add#316, Unbox#317 [double]
F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
319
Box ← Add#318
Value
320
Return ← Box#319
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant 0x0
Int32
12
Goto → block 2
Block 1
7
OsrEntry
Pointer
8
OsrEnvironmentChain ← OsrEntry#7
Object
9
OsrReturnValue ← OsrEntry#7
Value
10
OsrValue ← OsrEntry#7
Value
11
Start
13
Goto → block 2
Block 2
14
Phi ← Constant#3, OsrEnvironmentChain#8
Object
15
Phi ← Constant#0, OsrReturnValue#9
Value
16
Phi ← Constant#6, OsrValue#10
Value
20
Goto → block 3
Block 3 (loop header)
17
Phi ← Phi#14, Phi#14
Value
18
Phi ← Phi#15, Call#33
Value
19
Phi ← Phi#16, Add#36
Value
21
InterruptCheck
22
Constant 0x2710
Int32
23
Unbox Phi#19 to Int32 (fallible)
Int32
24
Compare ← Unbox#23, Constant#22 Lt
Bool
25
Test ← Compare#24 → block 4, block 5
1
0
Block 4 (backedge)
26
Constant object 104289c3f040 (LexicalEnvironment)
Object
27
Constant object 104289c3e030 (global)
Object
28
Constant function megaComplex (-e:25) at 104289c6c858
Object
29
Constant undefined
Undefined
30
Constant 0x1
Int32
31
Constant function megaComplex (-e:25) at 104289c6c858
Object
32
GuardSpecificFunction ← Constant#28, Constant#31
Object
33
Call ← GuardSpecificFunction#32, Constant#29, Phi#19
Value
34
Unbox Phi#19 to Int32 (fallible)
Int32
35
Constant 0x1
Int32
36
Add ← Unbox#34, Constant#35 [int32]
Int32
37
Goto → block 3
Block 5
38
Return ← Phi#18
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant 0x0
Int32
12
Goto → block 2
Block 1
7
OsrEntry
Pointer
8
OsrEnvironmentChain ← OsrEntry#7
Object
9
OsrReturnValue ← OsrEntry#7
Value
10
OsrValue ← OsrEntry#7
Value
11
Start
13
Goto → block 2
Block 2
14
Phi ← Constant#3, OsrEnvironmentChain#8
Object
15
Phi ← Constant#0, OsrReturnValue#9
Value
16
Phi ← Constant#6, OsrValue#10
Value
20
Goto → block 3
Block 3 (loop header)
17
Phi ← Phi#14, Phi#14
Value
18
Phi ← Phi#15, Call#33
Value
19
Phi ← Phi#16, Add#36
Value
21
InterruptCheck
22
Constant 0x2710
Int32
23
Unbox Phi#19 to Int32 (fallible)
Int32
24
Compare ← Unbox#23, Constant#22 Lt
Bool
25
Test ← Compare#24 → block 4, block 5
1
0
Block 4 (backedge)
26
Constant object 104289c3f040 (LexicalEnvironment)
Object
27
Constant object 104289c3e030 (global)
Object
28
Constant function megaComplex (-e:25) at 104289c6c858
Object
29
Constant undefined
Undefined
30
Constant 0x1
Int32
31
Constant function megaComplex (-e:25) at 104289c6c858
Object
32
GuardSpecificFunction ← Constant#28, Constant#31
Object
33
Call ← GuardSpecificFunction#32, Constant#29, Phi#19
Value
34
Unbox Phi#19 to Int32 (fallible)
Int32
35
Constant 0x1
Int32
36
Add ← Unbox#34, Constant#35 [int32]
Int32
37
Goto → block 3
Block 5
38
Return ← Phi#18
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant 0x0
Int32
12
Goto → block 2
Block 1
7
OsrEntry
Pointer
8
OsrEnvironmentChain ← OsrEntry#7
Object
9
OsrReturnValue ← OsrEntry#7
Value
10
OsrValue ← OsrEntry#7
Value
11
Start
13
Goto → block 2
Block 2
14
Phi ← Constant#3, OsrEnvironmentChain#8
Object
15
Phi ← Constant#0, OsrReturnValue#9
Value
16
Phi ← Constant#6, OsrValue#10
Value
20
Goto → block 3
Block 3 (loop header)
17
Phi ← Phi#14, Phi#14
Value
18
Phi ← Phi#15, Call#33
Value
19
Phi ← Phi#16, Add#36
Value
21
InterruptCheck
22
Constant 0x2710
Int32
23
Unbox Phi#19 to Int32 (fallible)
Int32
24
Compare ← Unbox#23, Constant#22 Lt
Bool
25
Test ← Compare#24 → block 4, block 5
1
0
Block 4 (backedge)
26
Constant object 104289c3f040 (LexicalEnvironment)
Object
27
Constant object 104289c3e030 (global)
Object
28
Constant function megaComplex (-e:25) at 104289c6c858
Object
29
Constant undefined
Undefined
30
Constant 0x1
Int32
31
Constant function megaComplex (-e:25) at 104289c6c858
Object
32
GuardSpecificFunction ← Constant#28, Constant#31
Object
33
Call ← GuardSpecificFunction#32, Constant#29, Phi#19
Value
34
Unbox Phi#19 to Int32 (fallible)
Int32
35
Constant 0x1
Int32
36
Add ← Unbox#34, Constant#35 [int32]
Int32
37
Goto → block 3
Block 5
38
Return ← Phi#18
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant 0x0
Int32
12
Goto → block 2
Block 1
7
OsrEntry
Pointer
8
OsrEnvironmentChain ← OsrEntry#7
Object
9
OsrReturnValue ← OsrEntry#7
Value
10
OsrValue ← OsrEntry#7
Value
11
Start
13
Goto → block 2
Block 2
14
Phi ← Constant#3, OsrEnvironmentChain#8
Object
15
Phi ← Constant#0, OsrReturnValue#9
Value
16
Phi ← Constant#6, OsrValue#10
Value
20
Goto → block 3
Block 3 (loop header)
17
Phi ← Phi#14, Phi#14
Value
18
Phi ← Phi#15, Call#33
Value
19
Phi ← Phi#16, Add#36
Value
21
InterruptCheck
22
Constant 0x2710
Int32
23
Unbox Phi#19 to Int32 (fallible)
Int32
24
Compare ← Unbox#23, Constant#22 Lt
Bool
25
Test ← Compare#24 → block 4, block 5
1
0
Block 4 (backedge)
26
Constant object 104289c3f040 (LexicalEnvironment)
Object
27
Constant object 104289c3e030 (global)
Object
28
Constant function megaComplex (-e:25) at 104289c6c858
Object
29
Constant undefined
Undefined
30
Constant 0x1
Int32
31
Constant function megaComplex (-e:25) at 104289c6c858
Object
32
GuardSpecificFunction ← Constant#28, Constant#31
Object
33
Call ← GuardSpecificFunction#32, Constant#29, Phi#19
Value
34
Unbox Phi#19 to Int32 (fallible)
Int32
35
Constant 0x1
Int32
36
Add ← Unbox#34, Constant#35 [int32]
Int32
37
Goto → block 3
Block 5
38
Return ← Phi#18
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant 0x0
Int32
12
Goto → block 2
Block 1
7
OsrEntry
Pointer
8
OsrEnvironmentChain ← OsrEntry#7
Object
9
OsrReturnValue ← OsrEntry#7
Value
10
OsrValue ← OsrEntry#7
Value
11
Start
13
Goto → block 2
Block 2
14
Phi ← Constant#3, OsrEnvironmentChain#8
Object
15
Phi ← Constant#0, OsrReturnValue#9
Value
16
Phi ← Constant#6, OsrValue#10
Value
20
Goto → block 3
Block 3 (loop header)
17
Phi ← Phi#14, Phi#14
Value
18
Phi ← Phi#15, Call#33
Value
19
Phi ← Phi#16, Add#36
Value
21
InterruptCheck
22
Constant 0x2710
Int32
23
Unbox Phi#19 to Int32 (fallible)
Int32
24
Compare ← Unbox#23, Constant#22 Lt
Bool
25
Test ← Compare#24 → block 4, block 5
1
0
Block 4 (backedge)
26
Constant object 104289c3f040 (LexicalEnvironment)
Object
27
Constant object 104289c3e030 (global)
Object
28
Constant function megaComplex (-e:25) at 104289c6c858
Object
29
Constant undefined
Undefined
30
Constant 0x1
Int32
31
Constant function megaComplex (-e:25) at 104289c6c858
Object
32
GuardSpecificFunction ← Constant#28, Constant#31
Object
33
Call ← GuardSpecificFunction#32, Constant#29, Phi#19
Value
34
Unbox Phi#19 to Int32 (fallible)
Int32
35
Constant 0x1
Int32
36
Add ← Unbox#34, Constant#35 [int32]
Int32
37
Goto → block 3
Block 5
38
Return ← Phi#18
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant 0x0
Int32
12
Goto → block 2
Block 1
7
OsrEntry
Pointer
8
OsrEnvironmentChain ← OsrEntry#7
Object
9
OsrReturnValue ← OsrEntry#7
Value
10
OsrValue ← OsrEntry#7
Value
11
Start
13
Goto → block 2
Block 2
14
Phi ← Constant#3, OsrEnvironmentChain#8
Object
15
Phi ← Constant#0, OsrReturnValue#9
Value
16
Phi ← Constant#6, OsrValue#10
Value
20
Goto → block 3
Block 3 (loop header)
17
Phi ← Phi#14, Phi#14
Value
18
Phi ← Phi#15, Call#33
Value
19
Phi ← Phi#16, Add#36
Value
21
InterruptCheck
22
Constant 0x2710
Int32
23
Unbox Phi#19 to Int32 (fallible)
Int32
24
Compare ← Unbox#23, Constant#22 Lt
Bool
25
Test ← Compare#24 → block 4, block 5
1
0
Block 4 (backedge)
26
Constant object 104289c3f040 (LexicalEnvironment)
Object
27
Constant object 104289c3e030 (global)
Object
28
Constant function megaComplex (-e:25) at 104289c6c858
Object
29
Constant undefined
Undefined
30
Constant 0x1
Int32
31
Constant function megaComplex (-e:25) at 104289c6c858
Object
32
GuardSpecificFunction ← Constant#28, Constant#31
Object
33
Call ← GuardSpecificFunction#32, Constant#29, Phi#19
Value
34
Unbox Phi#19 to Int32 (fallible)
Int32
35
Constant 0x1
Int32
36
Add ← Unbox#34, Constant#35 [int32]
Int32
37
Goto → block 3
Block 5
38
Return ← Phi#18
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant 0x0
Int32
12
Goto → block 2
Block 1
7
OsrEntry
Pointer
8
OsrEnvironmentChain ← OsrEntry#7
Object
9
OsrReturnValue ← OsrEntry#7
Value
10
OsrValue ← OsrEntry#7
Value
11
Start
13
Goto → block 2
Block 2
14
Phi ← Constant#3, OsrEnvironmentChain#8
Object
15
Phi ← Constant#0, OsrReturnValue#9
Value
16
Phi ← Constant#6, OsrValue#10
Value
20
Goto → block 3
Block 3 (loop header)
17
Phi ← Phi#14, Phi#14
Value
18
Phi ← Phi#15, Call#33
Value
19
Phi ← Phi#16, Add#36
Value
21
InterruptCheck
22
Constant 0x2710
Int32
23
Unbox Phi#19 to Int32 (fallible)
Int32
24
Compare ← Unbox#23, Constant#22 Lt
Bool
25
Test ← Compare#24 → block 4, block 5
1
0
Block 4 (backedge)
26
Constant object 104289c3f040 (LexicalEnvironment)
Object
27
Constant object 104289c3e030 (global)
Object
28
Constant function megaComplex (-e:25) at 104289c6c858
Object
29
Constant undefined
Undefined
30
Constant 0x1
Int32
31
Constant function megaComplex (-e:25) at 104289c6c858
Object
32
GuardSpecificFunction ← Constant#28, Constant#31
Object
33
Call ← GuardSpecificFunction#32, Constant#29, Phi#19
Value
34
Unbox Phi#19 to Int32 (fallible)
Int32
35
Constant 0x1
Int32
36
Add ← Unbox#34, Constant#35 [int32]
Int32
37
Goto → block 3
Block 5
38
Return ← Phi#18
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant 0x0
Int32
12
Goto → block 2
Block 1
7
OsrEntry
Pointer
8
OsrEnvironmentChain ← OsrEntry#7
Object
9
OsrReturnValue ← OsrEntry#7
Value
10
OsrValue ← OsrEntry#7
Value
11
Start
13
Goto → block 2
Block 2
15
Phi ← Constant#0, OsrReturnValue#9
Value
16
Phi ← Constant#6, OsrValue#10
Value
42
Constant magic optimized-out
MagicOptimizedOut
20
Goto → block 3
Block 3 (loop header)
18
Phi ← Phi#15, Call#33
Value
19
Phi ← Phi#16, Add#36
Value
41
Constant magic optimized-out
MagicOptimizedOut
21
InterruptCheck
22
Constant 0x2710
Int32
23
Unbox Phi#19 to Int32 (fallible)
Int32
24
Compare ← Unbox#23, Constant#22 Lt
Bool
25
Test ← Compare#24 → block 4, block 5
1
0
Block 4 (backedge)
40
Constant magic optimized-out
MagicOptimizedOut
26
Constant object 104289c3f040 (LexicalEnvironment)
Object
27
Constant object 104289c3e030 (global)
Object
28
Constant function megaComplex (-e:25) at 104289c6c858
Object
29
Constant undefined
Undefined
30
Constant 0x1
Int32
31
Constant function megaComplex (-e:25) at 104289c6c858
Object
32
GuardSpecificFunction ← Constant#28, Constant#31
Object
33
Call ← GuardSpecificFunction#32, Constant#29, Phi#19
Value
34
Unbox Phi#19 to Int32 (fallible)
Int32
35
Constant 0x1
Int32
36
Add ← Unbox#34, Constant#35 [int32]
Int32
37
Goto → block 3
Block 5
39
Constant magic optimized-out
MagicOptimizedOut
38
Return ← Phi#18
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant 0x0
Int32
12
Goto → block 2
Block 1
7
OsrEntry
Pointer
8
OsrEnvironmentChain ← OsrEntry#7
Object
9
OsrReturnValue ← OsrEntry#7
Value
10
OsrValue ← OsrEntry#7
Value
11
Start
13
Goto → block 2
Block 2
15
Phi ← Constant#0, OsrReturnValue#9
Value
16
Phi ← Constant#6, OsrValue#10
Value
42
Constant magic optimized-out
MagicOptimizedOut
20
Goto → block 3
Block 3 (loop header)
18
Phi ← Phi#15, Call#33
Value
19
Phi ← Phi#16, Add#36
Value
41
Constant magic optimized-out
MagicOptimizedOut
21
InterruptCheck
22
Constant 0x2710
Int32
23
Unbox Phi#19 to Int32 (fallible)
Int32
24
Compare ← Unbox#23, Constant#22 Lt
Bool
25
Test ← Compare#24 → block 4, block 5
1
0
Block 4 (backedge)
40
Constant magic optimized-out
MagicOptimizedOut
26
Constant object 104289c3f040 (LexicalEnvironment)
Object
27
Constant object 104289c3e030 (global)
Object
28
Constant function megaComplex (-e:25) at 104289c6c858
Object
29
Constant undefined
Undefined
30
Constant 0x1
Int32
31
Constant function megaComplex (-e:25) at 104289c6c858
Object
32
GuardSpecificFunction ← Constant#28, Constant#31
Object
33
Call ← GuardSpecificFunction#32, Constant#29, Phi#19
Value
34
Unbox Phi#19 to Int32 (fallible)
Int32
35
Constant 0x1
Int32
36
Add ← Unbox#34, Constant#35 [int32]
Int32
37
Goto → block 3
Block 5
39
Constant magic optimized-out
MagicOptimizedOut
38
Return ← Phi#18
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant 0x0
Int32
12
Goto → block 2
Block 1
7
OsrEntry
Pointer
8
OsrEnvironmentChain ← OsrEntry#7
Object
9
OsrReturnValue ← OsrEntry#7
Value
10
OsrValue ← OsrEntry#7
Value
11
Start
13
Goto → block 2
Block 2
15
Phi ← Constant#0, OsrReturnValue#9
Value
16
Phi ← Constant#6, OsrValue#10
Value
42
Constant magic optimized-out
MagicOptimizedOut
20
Goto → block 3
Block 3 (loop header)
18
Phi ← Phi#15, Call#33
Value
19
Phi ← Phi#16, Add#36
Value
41
Constant magic optimized-out
MagicOptimizedOut
21
InterruptCheck
22
Constant 0x2710
Int32
23
Unbox Phi#19 to Int32 (fallible)
Int32
24
Compare ← Unbox#23, Constant#22 Lt
Bool
25
Test ← Compare#24 → block 4, block 5
1
0
Block 4 (backedge)
40
Constant magic optimized-out
MagicOptimizedOut
26
Constant object 104289c3f040 (LexicalEnvironment)
Object
27
Constant object 104289c3e030 (global)
Object
28
Constant function megaComplex (-e:25) at 104289c6c858
Object
29
Constant undefined
Undefined
30
Constant 0x1
Int32
31
Constant function megaComplex (-e:25) at 104289c6c858
Object
32
GuardSpecificFunction ← Constant#28, Constant#31
Object
33
Call ← GuardSpecificFunction#32, Constant#29, Phi#19
Value
34
Unbox Phi#19 to Int32 (fallible)
Int32
35
Constant 0x1
Int32
36
Add ← Unbox#34, Constant#35 [int32]
Int32
37
Goto → block 3
Block 5
39
Constant magic optimized-out
MagicOptimizedOut
38
Return ← Phi#18
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant 0x0
Int32
12
Goto → block 2
Block 1
7
OsrEntry
Pointer
8
OsrEnvironmentChain ← OsrEntry#7
Object
9
OsrReturnValue ← OsrEntry#7
Value
10
OsrValue ← OsrEntry#7
Value
11
Start
13
Goto → block 2
Block 2
15
Phi ← Constant#0, OsrReturnValue#9
Value
16
Phi ← Constant#6, OsrValue#10
Value
42
Constant magic optimized-out
MagicOptimizedOut
20
Goto → block 3
Block 3 (loop header)
18
Phi ← Phi#15, Call#33
Value
19
Phi ← Phi#16, Add#36
Value
41
Constant magic optimized-out
MagicOptimizedOut
21
InterruptCheck
22
Constant 0x2710
Int32
23
Unbox Phi#19 to Int32 (fallible)
Int32
24
Compare ← Unbox#23, Constant#22 Lt
Bool
25
Test ← Compare#24 → block 4, block 5
1
0
Block 4 (backedge)
40
Constant magic optimized-out
MagicOptimizedOut
26
Constant object 104289c3f040 (LexicalEnvironment)
Object
27
Constant object 104289c3e030 (global)
Object
28
Constant function megaComplex (-e:25) at 104289c6c858
Object
29
Constant undefined
Undefined
30
Constant 0x1
Int32
31
Constant function megaComplex (-e:25) at 104289c6c858
Object
32
GuardSpecificFunction ← Constant#28, Constant#31
Object
33
Call ← GuardSpecificFunction#32, Constant#29, Phi#19
Value
34
Unbox Phi#19 to Int32 (fallible)
Int32
35
Constant 0x1
Int32
36
Add ← Unbox#34, Constant#35 [int32]
Int32
37
Goto → block 3
Block 5
39
Constant magic optimized-out
MagicOptimizedOut
38
Return ← Phi#18
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant 0x0
Int32
43
Box ← Constant#0
Value
12
Goto → block 2
Block 1
7
OsrEntry
Pointer
8
OsrEnvironmentChain ← OsrEntry#7
Object
9
OsrReturnValue ← OsrEntry#7
Value
10
OsrValue ← OsrEntry#7
Value
11
Start
44
Unbox OsrValue#10 to Int32 (fallible)
Int32
13
Goto → block 2
Block 2
15
Phi ← Box#43, OsrReturnValue#9
Value
16
Phi ← Constant#6, Unbox#44
Int32
42
Constant magic optimized-out
MagicOptimizedOut
20
Goto → block 3
Block 3 (loop header)
18
Phi ← Phi#15, Call#33
Value
19
Phi ← Phi#16, Add#36
Int32
41
Constant magic optimized-out
MagicOptimizedOut
21
InterruptCheck
22
Constant 0x2710
Int32
45
Box ← Phi#19
Value
23
Unbox Box#45 to Int32 (fallible)
Int32
24
Compare ← Unbox#23, Constant#22 Lt
Bool
25
Test ← Compare#24 → block 4, block 5
1
0
Block 4 (backedge)
40
Constant magic optimized-out
MagicOptimizedOut
26
Constant object 104289c3f040 (LexicalEnvironment)
Object
27
Constant object 104289c3e030 (global)
Object
28
Constant function megaComplex (-e:25) at 104289c6c858
Object
29
Constant undefined
Undefined
30
Constant 0x1
Int32
31
Constant function megaComplex (-e:25) at 104289c6c858
Object
32
GuardSpecificFunction ← Constant#28, Constant#31
Object
33
Call ← GuardSpecificFunction#32, Constant#29, Phi#19
Value
46
Box ← Phi#19
Value
34
Unbox Box#46 to Int32 (fallible)
Int32
35
Constant 0x1
Int32
36
Add ← Unbox#34, Constant#35 [int32]
Int32
37
Goto → block 3
Block 5
39
Constant magic optimized-out
MagicOptimizedOut
38
Return ← Phi#18
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant 0x0
Int32
7
Box ← Constant#0
Value
8
Goto → block 2
Block 1
9
OsrEntry
Pointer
10
OsrEnvironmentChain ← OsrEntry#9
Object
11
OsrReturnValue ← OsrEntry#9
Value
12
OsrValue ← OsrEntry#9
Value
13
Start
14
Unbox OsrValue#12 to Int32 (fallible)
Int32
15
Goto → block 2
Block 2
16
Phi ← Box#7, OsrReturnValue#11
Value
17
Phi ← Constant#6, Unbox#14
Int32
18
Constant magic optimized-out
MagicOptimizedOut
19
Goto → block 3
Block 3 (loop header)
20
Phi ← Phi#16, Call#37
Value
21
Phi ← Phi#17, Add#41
Int32
22
Constant magic optimized-out
MagicOptimizedOut
23
InterruptCheck
24
Constant 0x2710
Int32
25
Box ← Phi#21
Value
26
Unbox Box#25 to Int32 (fallible)
Int32
27
Compare ← Unbox#26, Constant#24 Lt
Bool
28
Test ← Compare#27 → block 4, block 5
1
0
Block 4 (backedge)
29
Constant magic optimized-out
MagicOptimizedOut
30
Constant object 104289c3f040 (LexicalEnvironment)
Object
31
Constant object 104289c3e030 (global)
Object
32
Constant function megaComplex (-e:25) at 104289c6c858
Object
33
Constant undefined
Undefined
34
Constant 0x1
Int32
35
Constant function megaComplex (-e:25) at 104289c6c858
Object
36
GuardSpecificFunction ← Constant#32, Constant#35
Object
37
Call ← GuardSpecificFunction#36, Constant#33, Phi#21
Value
38
Box ← Phi#21
Value
39
Unbox Box#38 to Int32 (fallible)
Int32
40
Constant 0x1
Int32
41
Add ← Unbox#39, Constant#40 [int32]
Int32
42
Goto → block 3
Block 5
43
Constant magic optimized-out
MagicOptimizedOut
44
Return ← Phi#20
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant magic uninitialized-lexical
MagicUninitializedLexical
6
Constant 0x0
Int32
7
Box ← Constant#0
Value
8
Goto → block 2
Block 1
9
OsrEntry
Pointer
10
OsrEnvironmentChain ← OsrEntry#9
Object
11
OsrReturnValue ← OsrEntry#9
Value
12
OsrValue ← OsrEntry#9
Value
13
Start
14
Unbox OsrValue#12 to Int32 (fallible)
Int32
15
Goto → block 2
Block 2
16
Phi ← Box#7, OsrReturnValue#11
Value
17
Phi ← Constant#6, Unbox#14
Int32
18
Constant magic optimized-out
MagicOptimizedOut
19
Goto → block 3
Block 3 (loop header)
20
Phi ← Phi#16, Call#37
Value
21
Phi ← Phi#17, Add#41
Int32
22
Constant magic optimized-out
MagicOptimizedOut
23
InterruptCheck
24
Constant 0x2710
Int32
25
Box ← Phi#21
Value
26
Unbox Box#25 to Int32 (fallible)
Int32
27
Compare ← Unbox#26, Constant#24 Lt
Bool
28
Test ← Compare#27 → block 4, block 5
1
0
Block 4 (backedge)
29
Constant magic optimized-out
MagicOptimizedOut
30
Constant object 104289c3f040 (LexicalEnvironment)
Object
31
Constant object 104289c3e030 (global)
Object
32
Constant function megaComplex (-e:25) at 104289c6c858
Object
33
Constant undefined
Undefined
34
Constant 0x1
Int32
35
Constant function megaComplex (-e:25) at 104289c6c858
Object
36
GuardSpecificFunction ← Constant#32, Constant#35
Object
37
Call ← GuardSpecificFunction#36, Constant#33, Phi#21
Value
38
Box ← Phi#21
Value
39
Unbox Box#38 to Int32 (fallible)
Int32
40
Constant 0x1
Int32
41
Add ← Unbox#39, Constant#40 [int32]
Int32
42
Goto → block 3
Block 5
43
Constant magic optimized-out
MagicOptimizedOut
44
Return ← Phi#20
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
6
Constant 0x0
Int32
7
Box ← Constant#0
Value
8
Goto → block 2
Block 1
9
OsrEntry
Pointer
10
OsrEnvironmentChain ← OsrEntry#9
Object
11
OsrReturnValue ← OsrEntry#9
Value
12
OsrValue ← OsrEntry#9
Value
13
Start
14
Unbox OsrValue#12 to Int32 (fallible)
Int32
15
Goto → block 2
Block 2
16
Phi ← Box#7, OsrReturnValue#11
Value
17
Phi ← Constant#6, Unbox#14
Int32
18
Constant magic optimized-out
MagicOptimizedOut
19
Goto → block 3
Block 3 (loop header)
20
Phi ← Phi#16, Call#37
Value
21
Phi ← Phi#17, Add#41
Int32
23
InterruptCheck
24
Constant 0x2710
Int32
27
Compare ← Phi#21, Constant#24 Lt
Bool
28
Test ← Compare#27 → block 4, block 5
1
0
Block 4 (backedge)
32
Constant function megaComplex (-e:25) at 104289c6c858
Object
33
Constant undefined
Undefined
37
Call ← Constant#32, Constant#33, Phi#21
Value
40
Constant 0x1
Int32
41
Add ← Phi#21, Constant#40 [int32]
Int32
42
Goto → block 3
Block 5
44
Return ← Phi#20
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
6
Constant 0x0
Int32
7
Box ← Constant#0
Value
8
Goto → block 2
Block 1
9
OsrEntry
Pointer
10
OsrEnvironmentChain ← OsrEntry#9
Object
11
OsrReturnValue ← OsrEntry#9
Value
12
OsrValue ← OsrEntry#9
Value
13
Start
14
Unbox OsrValue#12 to Int32 (fallible)
Int32
15
Goto → block 2
Block 2
16
Phi ← Box#7, OsrReturnValue#11
Value
17
Phi ← Constant#6, Unbox#14
Int32
18
Constant magic optimized-out
MagicOptimizedOut
19
Goto → block 3
Block 3 (loop header)
20
Phi ← Phi#16, Call#37
Value
21
Phi ← Phi#17, Add#41
Int32
23
InterruptCheck
24
Constant 0x2710
Int32
27
Compare ← Phi#21, Constant#24 Lt
Bool
28
Test ← Compare#27 → block 4, block 5
1
0
Block 4 (backedge)
32
Constant function megaComplex (-e:25) at 104289c6c858
Object
33
Constant undefined
Undefined
37
Call ← Constant#32, Constant#33, Phi#21
Value
40
Constant 0x1
Int32
41
Add ← Phi#21, Constant#40 [int32]
Int32
42
Goto → block 3
Block 5
44
Return ← Phi#20
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
6
Constant 0x0
Int32
7
Box ← Constant#0
Value
8
Goto → block 2
Block 1
9
OsrEntry
Pointer
10
OsrEnvironmentChain ← OsrEntry#9
Object
11
OsrReturnValue ← OsrEntry#9
Value
12
OsrValue ← OsrEntry#9
Value
13
Start
14
Unbox OsrValue#12 to Int32 (fallible)
Int32
15
Goto → block 2
Block 2
16
Phi ← Box#7, OsrReturnValue#11
Value
17
Phi ← Constant#6, Unbox#14
Int32
18
Constant magic optimized-out
MagicOptimizedOut
19
Goto → block 3
Block 3 (loop header)
20
Phi ← Phi#16, Call#37
Value
21
Phi ← Phi#17, Add#41
Int32
23
InterruptCheck
24
Constant 0x2710
Int32
27
Compare ← Phi#21, Constant#24 Lt
Bool
28
Test ← Compare#27 → block 4, block 5
1
0
Block 4 (backedge)
48
Beta ← Phi#21 F[?, 9999] (U -Infinity U -0)
Int32
32
Constant function megaComplex (-e:25) at 104289c6c858
Object
33
Constant undefined
Undefined
37
Call ← Constant#32, Constant#33, Beta#48
Value
40
Constant 0x1
Int32
41
Add ← Beta#48, Constant#40 [int32]
Int32
42
Goto → block 3
Block 5
47
Beta ← Phi#21 F[10000, ?] (U NaN U Infinity)
Int32
44
Return ← Phi#20
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
6
Constant 0x0
I[0, 0]: Int32
7
Box ← Constant#0
Value
8
Goto → block 2
Block 1
9
OsrEntry
Pointer
10
OsrEnvironmentChain ← OsrEntry#9
Object
11
OsrReturnValue ← OsrEntry#9
Value
12
OsrValue ← OsrEntry#9
Value
13
Start
14
Unbox OsrValue#12 to Int32 (fallible)
Int32
15
Goto → block 2
Block 2
16
Phi ← Box#7, OsrReturnValue#11
Value
17
Phi ← Constant#6, Unbox#14
Int32
18
Constant magic optimized-out
MagicOptimizedOut
19
Goto → block 3
Block 3 (loop header)
20
Phi ← Phi#16, Call#37
Value
21
Phi ← Phi#17, Add#41
I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32
23
InterruptCheck
24
Constant 0x2710
I[10000, 10000]: Int32
27
Compare ← Phi#21, Constant#24 Lt
Bool
28
Test ← Compare#27 → block 4, block 5
1
0
Block 4 (backedge)
48
Beta ← Phi#21 F[?, 9999] (U -Infinity U -0)
I[-2147483648, 9999] (U -0): Int32
32
Constant function megaComplex (-e:25) at 104289c6c858
Object
33
Constant undefined
Undefined
37
Call ← Constant#32, Constant#33, Beta#48
Value
40
Constant 0x1
I[1, 1]: Int32
41
Add ← Beta#48, Constant#40 [int32]
I[-2147483647, 10000]: Int32
42
Goto → block 3
Block 5
47
Beta ← Phi#21 F[10000, ?] (U NaN U Infinity)
I[10000, 2147483647]: Int32
44
Return ← Phi#20
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
6
Constant 0x0
I[0, 0]: Int32
7
Box ← Constant#0
Value
8
Goto → block 2
Block 1
9
OsrEntry
Pointer
10
OsrEnvironmentChain ← OsrEntry#9
Object
11
OsrReturnValue ← OsrEntry#9
Value
12
OsrValue ← OsrEntry#9
Value
13
Start
14
Unbox OsrValue#12 to Int32 (fallible)
Int32
15
Goto → block 2
Block 2
16
Phi ← Box#7, OsrReturnValue#11
Value
17
Phi ← Constant#6, Unbox#14
Int32
18
Constant magic optimized-out
MagicOptimizedOut
19
Goto → block 3
Block 3 (loop header)
20
Phi ← Phi#16, Call#37
Value
21
Phi ← Phi#17, Add#41
I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32
23
InterruptCheck
24
Constant 0x2710
I[10000, 10000]: Int32
27
Compare ← Phi#21, Constant#24 Lt
Bool
28
Test ← Compare#27 → block 4, block 5
1
0
Block 4 (backedge)
32
Constant function megaComplex (-e:25) at 104289c6c858
Object
33
Constant undefined
Undefined
37
Call ← Constant#32, Constant#33, Phi#21
Value
40
Constant 0x1
I[1, 1]: Int32
41
Add ← Phi#21, Constant#40 [int32]
I[-2147483647, 10000]: Int32
42
Goto → block 3
Block 5
44
Return ← Phi#20
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
6
Constant 0x0
I[0, 0]: Int32
7
Box ← Constant#0
Value
8
Goto → block 2
Block 1
9
OsrEntry
Pointer
10
OsrEnvironmentChain ← OsrEntry#9
Object
11
OsrReturnValue ← OsrEntry#9
Value
12
OsrValue ← OsrEntry#9
Value
13
Start
14
Unbox OsrValue#12 to Int32 (fallible)
Int32
15
Goto → block 2
Block 2
16
Phi ← Box#7, OsrReturnValue#11
Value
17
Phi ← Constant#6, Unbox#14
Int32
18
Constant magic optimized-out
MagicOptimizedOut
19
Goto → block 3
Block 3 (loop header)
20
Phi ← Phi#16, Call#37
Value
21
Phi ← Phi#17, Add#41
I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32
23
InterruptCheck
24
Constant 0x2710
I[10000, 10000]: Int32
27
Compare ← Phi#21, Constant#24 Lt
Bool
28
Test ← Compare#27 → block 4, block 5
1
0
Block 4 (backedge)
32
Constant function megaComplex (-e:25) at 104289c6c858
Object
33
Constant undefined
Undefined
37
Call ← Constant#32, Constant#33, Phi#21
Value
40
Constant 0x1
I[1, 1]: Int32
41
Add ← Phi#21, Constant#40 [int32]
I[-2147483647, 10000]: Int32
42
Goto → block 3
Block 5
44
Return ← Phi#20
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
6
Constant 0x0
I[0, 0]: Int32
7
Box ← Constant#0
Value
8
Goto → block 2
Block 1
9
OsrEntry
Pointer
10
OsrEnvironmentChain ← OsrEntry#9
Object
11
OsrReturnValue ← OsrEntry#9
Value
12
OsrValue ← OsrEntry#9
Value
13
Start
14
Unbox OsrValue#12 to Int32 (fallible)
Int32
15
Goto → block 2
Block 2
16
Phi ← Box#7, OsrReturnValue#11
Value
17
Phi ← Constant#6, Unbox#14
Int32
18
Constant magic optimized-out
MagicOptimizedOut
19
Goto → block 3
Block 3 (loop header)
20
Phi ← Phi#16, Call#37
Value
21
Phi ← Phi#17, Add#41
I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32
23
InterruptCheck
24
Constant 0x2710
I[10000, 10000]: Int32
27
Compare ← Phi#21, Constant#24 Lt
Bool
28
Test ← Compare#27 → block 4, block 5
1
0
Block 4 (backedge)
32
Constant function megaComplex (-e:25) at 104289c6c858
Object
33
Constant undefined
Undefined
37
Call ← Constant#32, Constant#33, Phi#21
Value
40
Constant 0x1
I[1, 1]: Int32
41
Add ← Phi#21, Constant#40 [int32]
I[-2147483647, 10000]: Int32
42
Goto → block 3
Block 5
44
Return ← Phi#20
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
6
Constant 0x0
I[0, 0]: Int32
7
Box ← Constant#0
Value
8
Goto → block 2
Block 1
9
OsrEntry
Pointer
10
OsrEnvironmentChain ← OsrEntry#9
Object
11
OsrReturnValue ← OsrEntry#9
Value
12
OsrValue ← OsrEntry#9
Value
13
Start
14
Unbox OsrValue#12 to Int32 (fallible)
Int32
15
Goto → block 2
Block 2
16
Phi ← Box#7, OsrReturnValue#11
Value
17
Phi ← Constant#6, Unbox#14
Int32
18
Constant magic optimized-out
MagicOptimizedOut
19
Goto → block 3
Block 3 (loop header)
20
Phi ← Phi#16, Call#37
Value
21
Phi ← Phi#17, Add#41
I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32
23
InterruptCheck
24
Constant 0x2710
I[10000, 10000]: Int32
27
Compare ← Phi#21, Constant#24 Lt
Bool
28
Test ← Compare#27 → block 4, block 5
1
0
Block 4 (backedge)
32
Constant function megaComplex (-e:25) at 104289c6c858
Object
33
Constant undefined
Undefined
37
Call ← Constant#32, Constant#33, Phi#21
Value
40
Constant 0x1
I[1, 1]: Int32
41
Add ← Phi#21, Constant#40 [int32]
I[-2147483647, 10000]: Int32
42
Goto → block 3
Block 5
44
Return ← Phi#20
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
6
Constant 0x0
I[0, 0]: Int32
7
Box ← Constant#0
Value
8
Goto → block 2
Block 1
9
OsrEntry
Pointer
10
OsrEnvironmentChain ← OsrEntry#9
Object
11
OsrReturnValue ← OsrEntry#9
Value
12
OsrValue ← OsrEntry#9
Value
13
Start
14
Unbox OsrValue#12 to Int32 (fallible)
Int32
15
Goto → block 2
Block 2
16
Phi ← Box#7, OsrReturnValue#11
Value
17
Phi ← Constant#6, Unbox#14
Int32
18
Constant magic optimized-out
MagicOptimizedOut
19
Goto → block 3
Block 3 (loop header)
20
Phi ← Phi#16, Call#37
Value
21
Phi ← Phi#17, Add#41
I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32
23
InterruptCheck
24
Constant 0x2710
I[10000, 10000]: Int32
27
Compare ← Phi#21, Constant#24 Lt
Bool
28
Test ← Compare#27 → block 4, block 5
1
0
Block 4 (backedge)
32
Constant function megaComplex (-e:25) at 104289c6c858
Object
33
Constant undefined
Undefined
37
Call ← Constant#32, Constant#33, Phi#21
Value
40
Constant 0x1
I[1, 1]: Int32
41
Add ← Phi#21, Constant#40 [int32]
I[-2147483647, 10000]: Int32
42
Goto → block 3
Block 5
44
Return ← Phi#20
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
6
Constant 0x0
I[0, 0]: Int32
7
Box ← Constant#0
Value
8
Goto → block 2
Block 1
9
OsrEntry
Pointer
10
OsrEnvironmentChain ← OsrEntry#9
Object
11
OsrReturnValue ← OsrEntry#9
Value
12
OsrValue ← OsrEntry#9
Value
13
Start
14
Unbox OsrValue#12 to Int32 (fallible)
Int32
15
Goto → block 2
Block 2
16
Phi ← Box#7, OsrReturnValue#11
Value
17
Phi ← Constant#6, Unbox#14
Int32
18
Constant magic optimized-out
MagicOptimizedOut
19
Goto → block 3
Block 3 (loop header)
20
Phi ← Phi#16, Call#37
Value
21
Phi ← Phi#17, Add#41
I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32
23
InterruptCheck
24
Constant 0x2710
I[10000, 10000]: Int32
27
Compare ← Phi#21, Constant#24 Lt
Bool
28
Test ← Compare#27 → block 4, block 5
1
0
Block 4 (backedge)
32
Constant function megaComplex (-e:25) at 104289c6c858
Object
33
Constant undefined
Undefined
37
Call ← Constant#32, Constant#33, Phi#21
Value
40
Constant 0x1
I[1, 1]: Int32
41
Add ← Phi#21, Constant#40 [int32]
I[-2147483647, 10000]: Int32
42
Goto → block 3
Block 5
44
Return ← Phi#20
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
6
Constant 0x0
I[0, 0]: Int32
7
Box ← Constant#0
Value
8
Goto → block 2
Block 1
9
OsrEntry
Pointer
10
OsrEnvironmentChain ← OsrEntry#9
Object
11
OsrReturnValue ← OsrEntry#9
Value
12
OsrValue ← OsrEntry#9
Value
13
Start
14
Unbox OsrValue#12 to Int32 (fallible)
Int32
15
Goto → block 2
Block 2
16
Phi ← Box#7, OsrReturnValue#11
Value
17
Phi ← Constant#6, Unbox#14
Int32
18
Constant magic optimized-out
MagicOptimizedOut
19
Goto → block 3
Block 3 (loop header)
20
Phi ← Phi#16, Call#37
Value
21
Phi ← Phi#17, Add#41
I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32
23
InterruptCheck
24
Constant 0x2710
I[10000, 10000]: Int32
27
Compare ← Phi#21, Constant#24 Lt
Bool
28
Test ← Compare#27 → block 4, block 5
1
0
Block 4 (backedge)
32
Constant function megaComplex (-e:25) at 104289c6c858
Object
33
Constant undefined
Undefined
37
Call ← Constant#32, Constant#33, Phi#21
Value
40
Constant 0x1
I[1, 1]: Int32
41
Add ← Phi#21, Constant#40 [int32]
I[-2147483647, 10000]: Int32
42
Goto → block 3
Block 5
44
Return ← Phi#20
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant 0x0
I[0, 0]: Int32
6
Box ← Constant#0
Value
7
Goto → block 2
Block 1
8
OsrEntry
Pointer
9
OsrEnvironmentChain ← OsrEntry#8
Object
10
OsrReturnValue ← OsrEntry#8
Value
11
OsrValue ← OsrEntry#8
Value
12
Start
13
Unbox OsrValue#11 to Int32 (fallible)
Int32
14
Goto → block 2
Block 2
15
Phi ← Box#6, OsrReturnValue#10
Value
16
Phi ← Constant#5, Unbox#13
Int32
17
Constant magic optimized-out
MagicOptimizedOut
18
Goto → block 3
Block 3 (loop header)
19
Phi ← Phi#15, Call#28
Value
20
Phi ← Phi#16, Add#29
I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21
InterruptCheck
22
Constant 0x2710
I[10000, 10000]: Int32
23
Compare ← Phi#20, Constant#22 Lt
Bool
24
Test ← Compare#23 → block 4, block 5
1
0
Block 4 (backedge)
25
Constant function megaComplex (-e:25) at 104289c6c858
Object
26
Constant undefined
Undefined
27
Constant 0x1
I[1, 1]: Int32
28
Call ← Constant#25, Constant#26, Phi#20
Value
29
Add ← Phi#20, Constant#27 [int32]
I[-2147483647, 10000]: Int32
30
Goto → block 3
Block 5
31
Return ← Phi#19
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant 0x0
I[0, 0]: Int32
6
Box ← Constant#0
Value
7
Goto → block 2
Block 1
8
OsrEntry
Pointer
9
OsrEnvironmentChain ← OsrEntry#8
Object
10
OsrReturnValue ← OsrEntry#8
Value
11
OsrValue ← OsrEntry#8
Value
12
Start
13
Unbox OsrValue#11 to Int32 (fallible)
Int32
14
Goto → block 2
Block 2
15
Phi ← Box#6, OsrReturnValue#10
Value
16
Phi ← Constant#5, Unbox#13
Int32
17
Constant magic optimized-out
MagicOptimizedOut
18
Goto → block 3
Block 3 (loop header)
19
Phi ← Phi#15, Call#28
Value
20
Phi ← Phi#16, Add#29
I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21
InterruptCheck
22
Constant 0x2710
I[10000, 10000]: Int32
23
Compare ← Phi#20, Constant#22 Lt
Bool
24
Test ← Compare#23 → block 4, block 5
1
0
Block 4 (backedge)
25
Constant function megaComplex (-e:25) at 104289c6c858
Object
26
Constant undefined
Undefined
27
Constant 0x1
I[1, 1]: Int32
28
Call ← Constant#25, Constant#26, Phi#20
Value
29
Add ← Phi#20, Constant#27 [int32]
I[-2147483647, 10000]: Int32
30
Goto → block 3
Block 5
31
Return ← Phi#19
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant 0x0
I[0, 0]: Int32
6
Box ← Constant#0
Value
7
Goto → block 2
Block 1
8
OsrEntry
Pointer
9
OsrEnvironmentChain ← OsrEntry#8
Object
10
OsrReturnValue ← OsrEntry#8
Value
11
OsrValue ← OsrEntry#8
Value
12
Start
13
Unbox OsrValue#11 to Int32 (fallible)
Int32
14
Goto → block 2
Block 2
15
Phi ← Box#6, OsrReturnValue#10
Value
16
Phi ← Constant#5, Unbox#13
Int32
17
Constant magic optimized-out
MagicOptimizedOut
18
Goto → block 3
Block 3 (loop header)
19
Phi ← Phi#15, Call#28
Value
20
Phi ← Phi#16, Add#29
I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21
InterruptCheck
22
Constant 0x2710
I[10000, 10000]: Int32
23
Compare ← Phi#20, Constant#22 Lt
Bool
24
Test ← Compare#23 → block 4, block 5
1
0
Block 4 (backedge)
25
Constant function megaComplex (-e:25) at 104289c6c858
Object
26
Constant undefined
Undefined
27
Constant 0x1
I[1, 1]: Int32
28
Call ← Constant#25, Constant#26, Phi#20
Value
29
Add ← Phi#20, Constant#27 [int32]
I[-2147483647, 10000]: Int32
30
Goto → block 3
Block 5
31
Return ← Phi#19
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant 0x0
I[0, 0]: Int32
6
Box ← Constant#0
Value
7
Goto → block 2
Block 1
8
OsrEntry
Pointer
9
OsrEnvironmentChain ← OsrEntry#8
Object
10
OsrReturnValue ← OsrEntry#8
Value
11
OsrValue ← OsrEntry#8
Value
12
Start
13
Unbox OsrValue#11 to Int32 (fallible)
Int32
14
Goto → block 2
Block 2
15
Phi ← Box#6, OsrReturnValue#10
Value
16
Phi ← Constant#5, Unbox#13
Int32
17
Constant magic optimized-out
MagicOptimizedOut
18
Goto → block 3
Block 3 (loop header)
19
Phi ← Phi#15, Call#28
Value
20
Phi ← Phi#16, Add#29
I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21
InterruptCheck
22
Constant 0x2710
I[10000, 10000]: Int32
23
Compare ← Phi#20, Constant#22 Lt
Bool
24
Test ← Compare#23 → block 4, block 5
1
0
Block 4 (backedge)
25
Constant function megaComplex (-e:25) at 104289c6c858
Object
26
Constant undefined
Undefined
27
Constant 0x1
I[1, 1]: Int32
28
Call ← Constant#25, Constant#26, Phi#20
Value
29
Add ← Phi#20, Constant#27 [int32]
I[-2147483647, 10000]: Int32
30
Goto → block 3
Block 5
31
Return ← Phi#19
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant 0x0
I[0, 0]: Int32
6
Box ← Constant#0
Value
7
Goto → block 2
Block 1
8
OsrEntry
Pointer
9
OsrEnvironmentChain ← OsrEntry#8
Object
10
OsrReturnValue ← OsrEntry#8
Value
11
OsrValue ← OsrEntry#8
Value
12
Start
13
Unbox OsrValue#11 to Int32 (fallible)
Int32
14
Goto → block 2
Block 2
15
Phi ← Box#6, OsrReturnValue#10
Value
16
Phi ← Constant#5, Unbox#13
Int32
17
Constant magic optimized-out
MagicOptimizedOut
18
Goto → block 3
Block 3 (loop header)
19
Phi ← Phi#15, Call#28
Value
20
Phi ← Phi#16, Add#29
I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21
InterruptCheck
22
Constant 0x2710
I[10000, 10000]: Int32
23
Compare ← Phi#20, Constant#22 Lt
Bool
24
Test ← Compare#23 → block 4, block 5
1
0
Block 4 (backedge)
25
Constant function megaComplex (-e:25) at 104289c6c858
Object
26
Constant undefined
Undefined
27
Constant 0x1
I[1, 1]: Int32
28
Call ← Constant#25, Constant#26, Phi#20
Value
29
Add ← Phi#20, Constant#27 [int32]
I[-2147483647, 10000]: Int32
30
Goto → block 3
Block 5
31
Return ← Phi#19
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant 0x0
I[0, 0]: Int32
6
Box ← Constant#0
Value
7
Goto → block 2
Block 1
8
OsrEntry
Pointer
9
OsrEnvironmentChain ← OsrEntry#8
Object
10
OsrReturnValue ← OsrEntry#8
Value
11
OsrValue ← OsrEntry#8
Value
12
Start
13
Unbox OsrValue#11 to Int32 (fallible)
Int32
14
Goto → block 2
Block 2
15
Phi ← Box#6, OsrReturnValue#10
Value
16
Phi ← Constant#5, Unbox#13
Int32
17
Constant magic optimized-out
MagicOptimizedOut
18
Goto → block 3
Block 3 (loop header)
19
Phi ← Phi#15, Call#28
Value
20
Phi ← Phi#16, Add#29
I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21
InterruptCheck
22
Constant 0x2710
I[10000, 10000]: Int32
23
Compare ← Phi#20, Constant#22 Lt
Bool
24
Test ← Compare#23 → block 4, block 5
1
0
Block 4 (backedge)
25
Constant function megaComplex (-e:25) at 104289c6c858
Object
26
Constant undefined
Undefined
27
Constant 0x1
I[1, 1]: Int32
28
Call ← Constant#25, Constant#26, Phi#20
Value
29
Add ← Phi#20, Constant#27 [int32]
I[-2147483647, 10000]: Int32
30
Goto → block 3
Block 5
31
Return ← Phi#19
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant 0x0
I[0, 0]: Int32
6
Box ← Constant#0
Value
7
Goto → block 2
Block 1
8
OsrEntry
Pointer
9
OsrEnvironmentChain ← OsrEntry#8
Object
10
OsrReturnValue ← OsrEntry#8
Value
11
OsrValue ← OsrEntry#8
Value
12
Start
13
Unbox OsrValue#11 to Int32 (fallible)
Int32
14
Goto → block 2
Block 2
15
Phi ← Box#6, OsrReturnValue#10
Value
16
Phi ← Constant#5, Unbox#13
Int32
17
Constant magic optimized-out
MagicOptimizedOut
18
Goto → block 3
Block 3 (loop header)
19
Phi ← Phi#15, Call#28
Value
20
Phi ← Phi#16, Add#29
I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21
InterruptCheck
22
Constant 0x2710
I[10000, 10000]: Int32
23
Compare ← Phi#20, Constant#22 Lt
Bool
24
Test ← Compare#23 → block 4, block 5
1
0
Block 4 (backedge)
25
Constant function megaComplex (-e:25) at 104289c6c858
Object
26
Constant undefined
Undefined
27
Constant 0x1
I[1, 1]: Int32
28
Call ← Constant#25, Constant#26, Phi#20
Value
29
Add ← Phi#20, Constant#27 [int32]
I[-2147483647, 10000]: Int32
30
Goto → block 3
Block 5
31
Return ← Phi#19
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant 0x0
I[0, 0]: Int32
6
Box ← Constant#0
Value
7
Goto → block 2
Block 1
8
OsrEntry
Pointer
9
OsrEnvironmentChain ← OsrEntry#8
Object
10
OsrReturnValue ← OsrEntry#8
Value
11
OsrValue ← OsrEntry#8
Value
12
Start
13
Unbox OsrValue#11 to Int32 (fallible)
Int32
14
Goto → block 2
Block 2
15
Phi ← Box#6, OsrReturnValue#10
Value
16
Phi ← Constant#5, Unbox#13
Int32
17
Constant magic optimized-out
MagicOptimizedOut
18
Goto → block 3
Block 3 (loop header)
19
Phi ← Phi#15, Call#28
Value
20
Phi ← Phi#16, Add#29
I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21
InterruptCheck
22
Constant 0x2710
I[10000, 10000]: Int32
23
Compare ← Phi#20, Constant#22 Lt
Bool
24
Test ← Compare#23 → block 4, block 5
1
0
Block 4 (backedge)
25
Constant function megaComplex (-e:25) at 104289c6c858
Object
26
Constant undefined
Undefined
27
Constant 0x1
I[1, 1]: Int32
28
Call ← Constant#25, Constant#26, Phi#20
Value
29
Add ← Phi#20, Constant#27 [int32]
I[-2147483647, 10000]: Int32
30
Goto → block 3
Block 5
31
Return ← Phi#19
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant 0x0
I[0, 0]: Int32
6
Box ← Constant#0
Value
7
Goto → block 2
Block 1
8
OsrEntry
Pointer
9
OsrEnvironmentChain ← OsrEntry#8
Object
10
OsrReturnValue ← OsrEntry#8
Value
11
OsrValue ← OsrEntry#8
Value
12
Start
13
Unbox OsrValue#11 to Int32 (fallible)
Int32
14
Goto → block 2
Block 2
15
Phi ← Box#6, OsrReturnValue#10
Value
16
Phi ← Constant#5, Unbox#13
Int32
17
Constant magic optimized-out
MagicOptimizedOut
18
Goto → block 3
Block 3 (loop header)
19
Phi ← Phi#15, Call#28
Value
20
Phi ← Phi#16, Add#29
I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21
InterruptCheck
22
Constant 0x2710
I[10000, 10000]: Int32
23
Compare ← Phi#20, Constant#22 Lt
Bool
24
Test ← Compare#23 → block 4, block 5
1
0
Block 4 (backedge)
25
Constant function megaComplex (-e:25) at 104289c6c858
Object
26
Constant undefined
Undefined
27
Constant 0x1
I[1, 1]: Int32
28
Call ← Constant#25, Constant#26, Phi#20
Value
29
Add ← Phi#20, Constant#27 [int32]
I[-2147483647, 10000]: Int32
30
Goto → block 3
Block 5
31
Return ← Phi#19
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant 0x0
I[0, 0]: Int32
6
Box ← Constant#0
Value
7
Goto → block 2
Block 1
8
OsrEntry
Pointer
9
OsrEnvironmentChain ← OsrEntry#8
Object
10
OsrReturnValue ← OsrEntry#8
Value
11
OsrValue ← OsrEntry#8
Value
12
Start
13
Unbox OsrValue#11 to Int32 (fallible)
Int32
14
Goto → block 2
Block 2
15
Phi ← Box#6, OsrReturnValue#10
Value
16
Phi ← Constant#5, Unbox#13
Int32
17
Constant magic optimized-out
MagicOptimizedOut
18
Goto → block 3
Block 3 (loop header)
19
Phi ← Phi#15, Call#28
Value
20
Phi ← Phi#16, Add#29
I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21
InterruptCheck
22
Constant 0x2710
I[10000, 10000]: Int32
23
Compare ← Phi#20, Constant#22 Lt
Bool
24
Test ← Compare#23 → block 4, block 5
1
0
Block 4 (backedge)
25
Constant function megaComplex (-e:25) at 104289c6c858
Object
26
Constant undefined
Undefined
27
Constant 0x1
I[1, 1]: Int32
28
Call ← Constant#25, Constant#26, Phi#20
Value
29
Add ← Phi#20, Constant#27 [int32]
I[-2147483647, 10000]: Int32
30
Goto → block 3
Block 5
31
Return ← Phi#19
Block 0
0
Constant undefined
Undefined
1
Start
2
CheckOverRecursed
3
Constant object 104289c3f040 (LexicalEnvironment)
Object
4
GlobalDeclInstantiation
5
Constant 0x0
I[0, 0]: Int32
6
Box ← Constant#0
Value
7
Goto → block 2
Block 1
8
OsrEntry
Pointer
9
OsrEnvironmentChain ← OsrEntry#8
Object
10
OsrReturnValue ← OsrEntry#8
Value
11
OsrValue ← OsrEntry#8
Value
12
Start
13
Unbox OsrValue#11 to Int32 (fallible)
Int32
14
Goto → block 2
Block 2
15
Phi ← Box#6, OsrReturnValue#10
Value
16
Phi ← Constant#5, Unbox#13
Int32
17
Constant magic optimized-out
MagicOptimizedOut
18
Goto → block 3
Block 3 (loop header)
19
Phi ← Phi#15, Call#28
Value
20
Phi ← Phi#16, Add#29
I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21
InterruptCheck
22
Constant 0x2710
I[10000, 10000]: Int32
23
Compare ← Phi#20, Constant#22 Lt
Bool
24
Test ← Compare#23 → block 4, block 5
1
0
Block 4 (backedge)
25
Constant function megaComplex (-e:25) at 104289c6c858
Object
26
Constant undefined
Undefined
27
Constant 0x1
I[1, 1]: Int32
28
Call ← Constant#25, Constant#26, Phi#20
Value
29
Add ← Phi#20, Constant#27 [int32]
I[-2147483647, 10000]: Int32
30
Goto → block 3
Block 5
31
Return ← Phi#19